概要
EC-CUBEバージョン? ??? 2.3.1
PHPバージョン ??? PHP 5.2.6
DBバージョン ??? MySQL 5.0.51b-community-nt
カスタマイズ内容
タイトルがややこしいですが、こういうことです。
「管理画面->コンテンツ管理->CSV出力項目設定->高度設定」のSQL一覧からCSVファイルを出力する際にタイトル行が出力されるので、これを出力しないようにする。ということです。
うちの場合、社内で動いている別の受注管理システムにEC-CUBEの受注データを取り込む必要があるためにやるので、ほとんどの方にとってこのカスタマイズはあまり意味の無いものだと思います。
カスタマイズ作業
「data/class_extends/page_extends/admin/contents/LC_Page_Admin_Contents_CsvSql_Ex.php」の「process」メソッドを修正します。
ここが「parrent::process();」とかなってる人はここを見て準備してください。
修正箇所
ファイル:LC_Page_Admin_Contents_CsvSql_Ex.php
クラス:LC_Page_Admin_Contents_CsvSql_Ex
メソッド:process
switch($_POST[‘mode’])以下を修正します。
修正前 case "csv_output": // CSV出力データ取得 $arrCsvData = $this->lfGetSqlList(" WHERE sql_id = ?", array($_POST['csv_output_id'])); $objQuery = new SC_Query(); $arrCsvOutputData = $objQuery->getall("SELECT " . $arrCsvData[0]['csv_sql']); if (count($arrCsvOutputData) > 0) { $arrKey = array_keys(SC_Utils_Ex::sfSwapArray($arrCsvOutputData)); $i = 0; $header = ""; foreach($arrKey as $data) { if ($i != 0) $header .= ", "; $header .= $data; $i ++; } $header .= "\n"; $data = SC_Utils_Ex::getCSVData($arrCsvOutputData, $arrKey); // CSV出力 SC_Utils_Ex::sfCSVDownload($header.$data); exit; break; }else{ $this->tpl_onload = "alert('出力データがありません。');"; $sql_id = ""; $_POST=""; } break;
修正後 case "csv_output": // CSV出力データ取得 $arrCsvData = $this->lfGetSqlList(" WHERE sql_id = ?", array($_POST['csv_output_id'])); $objQuery = new SC_Query(); $arrCsvOutputData = $objQuery->getall("SELECT " . $arrCsvData[0]['csv_sql']); if (count($arrCsvOutputData) > 0) { $arrKey = array_keys(SC_Utils_Ex::sfSwapArray($arrCsvOutputData)); $i = 0; $header = ""; /* * ヘッダ行を出力しない * fixed 2005811061629 foreach($arrKey as $data) { if ($i != 0) $header .= ", "; $header .= $data; $i ++; } $header .= "\n"; */ $data = SC_Utils_Ex::getCSVData($arrCsvOutputData, $arrKey); // CSV出力 SC_Utils_Ex::sfCSVDownload($header.$data); exit; break; }else{ $this->tpl_onload = "alert('出力データがありません。');"; $sql_id = ""; $_POST=""; } break;