概要
EC-CUBEバージョン? ??? 2.3.1
PHPバージョン ??? PHP 5.2.6
DBバージョン ??? MySQL 5.0.51b-community-nt
修正内容
「管理画面->コンテンツ設定->CSV出力項目設定->高度な設定」で、SQL一覧からクエリを選択した際にCSV出力設定の「名称」「SQL文」が表示されない問題を修正します*1 。
修正作業
作業準備
修正作業を始める前に、data/class/pages/admin/contents/LC_Page_Admin_Contents_CsvSql.phpから、編集対象となるメソッドをdata/class_extends/page_extends/admin/contents/LC_Page_Admin_Contents_CsvSql_Ex.phpへコピーします。
LC_Page_Admin_Contents_CsvSql.phpの「process」メソッドの中身を、
LC_Page_Admin_Contents_CsvSql_Ex.phpのparent::process();を上書きする形でコピーしちゃってください。
これにより、基底クラスのLC_Page_Admin_Contents_CsvSqlを壊さずに変更を加えることができます。
修正箇所
ファイル:LC_Page_Admin_Contents_CsvSql_Ex.php
クラス:LC_Page_Admin_Contents_CsvSql_Ex
メソッド:process
修正前
if (!isset($_POST['mode'])) $_POST['mode'] = ""; if (!isset($_POST['sql_id'])) $_POST['sql_id'] = ""; if (!isset($_GET['sql_id'])) $_GET['sql_id'] = ""; if (!isset($_POST['selectTable'])) $_POST['selectTable'] = "";
修正後
/*/ 以下をコメントアウト if (!isset($_POST['mode'])) $_POST['mode'] = ""; if (!isset($_POST['sql_id'])) $_POST['sql_id'] = ""; if (!isset($_GET['sql_id'])) $_GET['sql_id'] = ""; if (!isset($_POST['selectTable'])) $_POST['selectTable'] = ""; */
- クエリを選択した際に選択したクエリの名称、SQL文が表示されるようにする。 [↩]