<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>EC-CUBE &#8211; フリーランスさばいばる</title>
	<atom:link href="https://dev-memo.net/category/programming/ec-cube/feed/" rel="self" type="application/rss+xml" />
	<link>https://dev-memo.net</link>
	<description>生涯フリーランスで生き延びるためのブログ</description>
	<lastBuildDate>Wed, 02 Nov 2022 06:17:24 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2</generator>

<image>
	<url>https://dev-memo.net/wp-content/uploads/2022/06/cropped-favicon-32x32.png</url>
	<title>EC-CUBE &#8211; フリーランスさばいばる</title>
	<link>https://dev-memo.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【EC-CUBE2】CSV項目の追加方法</title>
		<link>https://dev-memo.net/ecc_add_csv/</link>
					<comments>https://dev-memo.net/ecc_add_csv/#respond</comments>
		
		<dc:creator><![CDATA[キミヒラ]]></dc:creator>
		<pubDate>Tue, 03 Apr 2018 10:13:11 +0000</pubDate>
				<category><![CDATA[EC-CUBE]]></category>
		<guid isPermaLink="false">https://dev-memo.net/?p=747</guid>

					<description><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2017/02/shopping-cart-1269166_1920-1024x678.jpg" class="webfeedsFeaturedVisual" /></p>EC-CUBE2のCSVの項目を追加する方法の解説です。 プログラムの修正不要で対応できます。 手順１：csv_idを調べる まずは、登録したいcsv_idを調べます。 何も変更していなければ、csv_idは下記のように [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2017/02/shopping-cart-1269166_1920-1024x678.jpg" class="webfeedsFeaturedVisual" /></p>
<p><strong>EC-CUBE2</strong>のCSVの項目を追加する方法の解説です。</p>



<p><span class="swl-marker mark_yellow"><span class="ymarker">プログラムの修正不要で</span>対応できます。</span></p>



<h2 class="wp-block-heading">手順１：csv_idを調べる</h2>



<p>まずは、登録したい<strong>csv_id</strong>を調べます。</p>



<p>何も変更していなければ、<strong>csv_id</strong>は下記のようになります。</p>



<figure class="wp-block-table"><table><tbody><tr><th>機能名</th><th>csv_id</th></tr><tr><td>商品管理</td><td>1</td></tr><tr><td>会員管理</td><td>2</td></tr><tr><td>受注管理</td><td>3</td></tr><tr><td>レビュー</td><td>4</td></tr><tr><td>カテゴリ</td><td>5</td></tr></tbody></table></figure>



<p>もし変更していたら、ソースコードの<strong>SC_Helper_CSV.php</strong>の<strong>init()</strong>メソッドで確認することもできます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>/**
     * 項目情報を初期化する.
     *
     * @access private
     * @return void
     */
    public function init()
    {
        $this-&gt;arrSubnavi = array(
            1 =&gt; &#39;product&#39;,
            2 =&gt; &#39;customer&#39;,
            3 =&gt; &#39;order&#39;,
            4 =&gt; &#39;review&#39;,
            5 =&gt; &#39;category&#39;,
        );

        $this-&gt;arrSubnaviName = array(
            1 =&gt; &#39;商品管理&#39;,
            2 =&gt; &#39;会員管理&#39;,
            3 =&gt; &#39;受注管理&#39;,
            4 =&gt; &#39;レビュー&#39;,
            5 =&gt; &#39;カテゴリ&#39;,
        );
    }</code></pre></div>



<p>この配列の添字が<strong>csv_id</strong>になります。</p>



<h2 class="wp-block-heading">手順２：CSVテーブルへ項目を追加</h2>



<p><strong>csv_id</strong>がわかったら、テーブルへ項目を追加します。<br>CSVのテーブルは、<strong>dtb_csv</strong>です。</p>



<p>こちらにレコードを追加する事で、<strong>EC-CUBE</strong>の<strong>CSV</strong>の項目に追加されます。</p>



<p>レコードの追加は、<strong>phpMyAdmin</strong>から行います。</p>



<p class="is-style-big_icon_point">コピー機能で追加するのがオススメです。<br>似たような項目からコピーする事で、必要な箇所のみ変更するだけで済みます。</p>



<p>既存の項目のコピーで新しいカラムを追加します。</p>



<figure class="wp-block-image is-style-shadow"><img decoding="async" width="929" height="428" src="https://dev-memo.net/wp-content/uploads/2018/04/localhost___localhost___eccube_db___dtb_csv___phpMyAdmin_4_5_2.png" alt="" class="wp-image-764" srcset="https://dev-memo.net/wp-content/uploads/2018/04/localhost___localhost___eccube_db___dtb_csv___phpMyAdmin_4_5_2.png 929w, https://dev-memo.net/wp-content/uploads/2018/04/localhost___localhost___eccube_db___dtb_csv___phpMyAdmin_4_5_2-300x138.png 300w, https://dev-memo.net/wp-content/uploads/2018/04/localhost___localhost___eccube_db___dtb_csv___phpMyAdmin_4_5_2-768x354.png 768w" sizes="(max-width: 929px) 100vw, 929px" /></figure>



<p><span class="photoline"></span></p>



<p>各カラムの内容を下記のようになります。</p>



<figure class="wp-block-table"><table><tbody><tr><th>項目名</th><th>内容</th></tr><tr><td>no</td><td>dtb_csvのKEY。重複してはいけないので、dtb_csv全体の末尾の次の番号にする。</td></tr><tr><td>csv_id</td><td>前の手順で調べたcsv_id。</td></tr><tr><td>col</td><td>取得する項目のDBのカラム名。</td></tr><tr><td>disp_name</td><td>管理画面・CSV上の表示名。</td></tr><tr><td>rank</td><td>並び順。csv_idで抽出した中の末尾の次の番号にする。</td></tr><tr><td>rw_flg</td><td>読み書きフラグ。<br>1:読み書き可能　2:読み込みのみ可能　3:キー列</td></tr><tr><td>status</td><td>CSV出力する・しないの項目。管理画面のCSV出力設定で変更可能なので、とりあえず１か２を設定すれば良い。<br>１：出力する　2:出力しない</td></tr><tr><td>mb_convert_kana_option</td><td>変換オプション。</td></tr><tr><td>size_const_type</td><td>サイズ。</td></tr><tr><td>error_check_types</td><td>エラーチェックタイプ。</td></tr></tbody></table></figure>



<p><strong>mb_convert_kana_option、size_const_type、error_check_types</strong>については、下記のサイトに詳しく解説があります。</p>



<p>http://blog.livedoor.jp/kuworks/archives/50510206.html</p>



<p>これで完了です。</p>



<h2 class="wp-block-heading">実践編：商品管理CSVに項目を追加してみる</h2>



<p>では、試しに<strong>商品管理</strong>に<strong>creator_id</strong>を追加してみます。<br><strong>商品管理</strong>は、<strong>csv_id</strong>が<strong>１</strong>です。</p>



<p>下記のようにコピーで必要な項目を変更して登録しました。<br></p>



<figure class="wp-block-image is-style-shadow"><img decoding="async" width="784" height="870" src="https://dev-memo.net/wp-content/uploads/2018/04/localhost___localhost___eccube_db___dtb_csv___phpMyAdmin_4_5_2-1.png" alt="" class="wp-image-765" srcset="https://dev-memo.net/wp-content/uploads/2018/04/localhost___localhost___eccube_db___dtb_csv___phpMyAdmin_4_5_2-1.png 784w, https://dev-memo.net/wp-content/uploads/2018/04/localhost___localhost___eccube_db___dtb_csv___phpMyAdmin_4_5_2-1-270x300.png 270w, https://dev-memo.net/wp-content/uploads/2018/04/localhost___localhost___eccube_db___dtb_csv___phpMyAdmin_4_5_2-1-768x852.png 768w" sizes="(max-width: 784px) 100vw, 784px" /></figure>



<p><span class="photoline"></span></p>



<figure class="wp-block-image is-style-shadow"><img decoding="async" width="774" height="886" src="https://dev-memo.net/wp-content/uploads/2018/04/localhost___localhost___eccube_db___dtb_csv___phpMyAdmin_4_5_2-2.png" alt="" class="wp-image-766" srcset="https://dev-memo.net/wp-content/uploads/2018/04/localhost___localhost___eccube_db___dtb_csv___phpMyAdmin_4_5_2-2.png 774w, https://dev-memo.net/wp-content/uploads/2018/04/localhost___localhost___eccube_db___dtb_csv___phpMyAdmin_4_5_2-2-262x300.png 262w, https://dev-memo.net/wp-content/uploads/2018/04/localhost___localhost___eccube_db___dtb_csv___phpMyAdmin_4_5_2-2-768x879.png 768w" sizes="(max-width: 774px) 100vw, 774px" /></figure>



<p><span class="photoline"></span></p>



<p>登録したら、CSV出力設定で確認しましょう。<br>phpMyAdminで登録した項目が表示されています。</p>



<figure class="wp-block-image is-style-shadow"><img decoding="async" width="900" height="586" src="https://dev-memo.net/wp-content/uploads/2018/04/EC-CUBE_管理機能.png" alt="" class="wp-image-767" srcset="https://dev-memo.net/wp-content/uploads/2018/04/EC-CUBE_管理機能.png 900w, https://dev-memo.net/wp-content/uploads/2018/04/EC-CUBE_管理機能-300x195.png 300w, https://dev-memo.net/wp-content/uploads/2018/04/EC-CUBE_管理機能-768x500.png 768w" sizes="(max-width: 900px) 100vw, 900px" /></figure>



<p>実際にCSVを出力してみましょう。<br></p>



<figure class="wp-block-image is-style-shadow"><img decoding="async" width="555" height="108" src="https://dev-memo.net/wp-content/uploads/2018/04/product_180403_1834482.png" alt="" class="wp-image-768" srcset="https://dev-memo.net/wp-content/uploads/2018/04/product_180403_1834482.png 555w, https://dev-memo.net/wp-content/uploads/2018/04/product_180403_1834482-300x58.png 300w" sizes="(max-width: 555px) 100vw, 555px" /></figure>



<p>ちゃんと出力されていればOKです。</p>



<h2 class="wp-block-heading">まとめ：EC-CUBEのCSV項目の追加はプログラミング不要</h2>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="577" src="https://dev-memo.net/wp-content/uploads/2022/10/GREEN20160902534715_TP_V-edited-1024x577.jpg" alt="" class="wp-image-4542" srcset="https://dev-memo.net/wp-content/uploads/2022/10/GREEN20160902534715_TP_V-edited-1024x577.jpg 1024w, https://dev-memo.net/wp-content/uploads/2022/10/GREEN20160902534715_TP_V-edited-300x169.jpg 300w, https://dev-memo.net/wp-content/uploads/2022/10/GREEN20160902534715_TP_V-edited-768x432.jpg 768w, https://dev-memo.net/wp-content/uploads/2022/10/GREEN20160902534715_TP_V-edited-1536x865.jpg 1536w, https://dev-memo.net/wp-content/uploads/2022/10/GREEN20160902534715_TP_V-edited.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p><span class="swl-marker mark_yellow"><span class="ymarker">EC-CUBEのCSVの項目追加は、元になっているテーブルにある項目であれば、プログラムの修正無しで追加でき</span>ます。</span></p>



<p>ただ、csv_idの確認やテーブルの各カラムの内容の確認が手間だったりするので、記事にまとめてみました。</p>



<p>この記事が少しでもお役に立てれば幸いです。</p>



<p>最後までお読み頂きありがとうございました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev-memo.net/ecc_add_csv/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【EC-CUBE2】CSVをUTF-8でダウンロードさせる修正方法</title>
		<link>https://dev-memo.net/ec_cube_csv_utf8/</link>
					<comments>https://dev-memo.net/ec_cube_csv_utf8/#respond</comments>
		
		<dc:creator><![CDATA[キミヒラ]]></dc:creator>
		<pubDate>Sun, 19 Feb 2017 12:52:36 +0000</pubDate>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://dev-memo.net/?p=271</guid>

					<description><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2017/02/shopping-cart-1269166_1920-1024x678.jpg" class="webfeedsFeaturedVisual" /></p>デフォルトのEC-CUBE２だと、ダウンロードされるCSVはShift-JISになっています。おそらく、EXCELでCSVを編集する事を考慮しているのでしょう。 ただ、場合によってUTF-8でダウンロードしたいケースもあ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2017/02/shopping-cart-1269166_1920-1024x678.jpg" class="webfeedsFeaturedVisual" /></p>
<p>デフォルトのEC-CUBE２だと、ダウンロードされるCSVはShift-JISになっています。<br>おそらく、EXCELでCSVを編集する事を考慮しているのでしょう。</p>



<p>ただ、場合によってUTF-8でダウンロードしたいケースもあるでしょう。</p>



<p>EC-CUBE2のCSVをUTF-8でダウンロードする修正方法を解説します。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="yellow"><div class="c-balloon__icon -square"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://dev-memo.net/wp-content/uploads/2022/08/icon_cut-2-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://dev-memo.net/wp-content/uploads/2022/08/icon_cut-2-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">キミヒラ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>修正自体はすごく簡単なので、プログラムを理解していなくても対応できます。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<h2 class="wp-block-heading">CSVをUTF-8でダウンロードさせる修正方法</h2>



<p>下記のファイルを修正します。</p>



<p class="is-style-dent_box">SC_Helper_CSV.php</p>



<p>修正方法は簡単で、下記の箇所を１行コメントアウトすればOK。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>    /**
     * CSV 出力用のファイルポインタリソースを開く
     *
     * @return resource ファイルポインタリソース
     */
    public static function &fopen_for_output_csv($filename = &#39;php://output&#39;)
    {
        $fp = fopen($filename, &#39;w&#39;);

        // ※※※※※※※　ここをコメントアウト　※※※※※※※※※
        //stream_filter_append($fp, &#39;convert.iconv.utf-8/cp932&#39;);
        stream_filter_append($fp, &#39;convert.eccube_lf2crlf&#39;);

        return $fp;
    }</code></pre></div>



<p>これでCSVがutf-8でダウンロードされるようになります。</p>



<h2 class="wp-block-heading">まとめ</h2>



<p>簡単ですが以上になります。</p>



<p>この記事が少しでも参考になれば幸いです。</p>



<p>最後までお読みいただきありがとうございました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev-memo.net/ec_cube_csv_utf8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【EC-CUBE】新しいフロントページを追加する方法</title>
		<link>https://dev-memo.net/ec-cube2_add_front_page/</link>
					<comments>https://dev-memo.net/ec-cube2_add_front_page/#respond</comments>
		
		<dc:creator><![CDATA[キミヒラ]]></dc:creator>
		<pubDate>Wed, 07 Dec 2016 06:40:30 +0000</pubDate>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://dev-memo.net/?p=212</guid>

					<description><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2017/02/shopping-cart-1269166_1920-1024x678.jpg" class="webfeedsFeaturedVisual" /></p>EC-CUBE２で新規にフロントページを追加する方法の解説です。 dtb_pagelayoutにレコードを追加する dtb_pagelayoutに新しいレコードを追加します。 各カラムの値は下記のように設定します。 pa [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2017/02/shopping-cart-1269166_1920-1024x678.jpg" class="webfeedsFeaturedVisual" /></p>
<p><strong>EC-CUBE２</strong>で新規にフロントページを追加する方法の解説です。</p>



<h2 class="wp-block-heading">dtb_pagelayoutにレコードを追加する</h2>



<p><strong>dtb_pagelayout</strong>に新しいレコードを追加します。</p>



<p>各カラムの値は下記のように設定します。</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>page_id</strong></td><td>既存のレコードと重複しない値にします。</td></tr><tr><td><strong>device_type_id</strong></td><td>PCやスマホ別のIDです（下記参照）。</td></tr><tr><td><strong>page_name</strong></td><td>ページの名前です。管理画面や、フロントに表示されます。</td></tr><tr><td><strong>url</strong></td><td>追加するページのURLです。</td></tr><tr><td><strong>filename</strong></td><td>テンプレートファイルのファイル名。(.tplは不要)</td></tr><tr><td><strong>edit_flg</strong></td><td>2を設定して管理画面からも編集出来るようにします。</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><strong>device_type_idの種別</strong></h3>



<figure class="wp-block-table"><table><tbody><tr><th>device_type_id</th><th>端末</th></tr><tr><td>1</td><td>モバイル</td></tr><tr><td>2</td><td>スマートフォン</td></tr><tr><td>10</td><td>PC</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">サンプルSQL</h3>



<p>PC用のテストページ(test/index.php)ページを追加するなら下記のようなSQLになります。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-sql" data-lang="SQL"><code>INSERT INTO `dtb_pagelayout` (`device_type_id`, `page_id`, `page_name`, `url`, `filename`, `header_chk`, `footer_chk`, `edit_flg`, `author`, `description`, `keyword`, `update_url`, `create_date`, `update_date`, `meta_robots`) VALUES (&#39;10&#39;, &#39;38&#39;, &#39;テストページ&#39;, &#39;test/index.php&#39;, ‘test/test&#39;, &#39;1&#39;, &#39;1&#39;,&#39;2&#39;, NULL, NULL, NULL, NULL, CURRENT_TIME(), CURRENT_TIME(), NULL);</code></pre></div>



<h2 class="wp-block-heading">PHPファイルを作成</h2>



<p>上記で<strong>dtb_pagelayout</strong>に追加レコードに<strong>url</strong>に対応したPHPファイルを作成します。</p>



<p>PHPファイルはページクラスの呼び出しくらいしかしないので、適当な既存のphpファイルをコピーして、ページクラスの部分のみ書き換えればOKです。<br>場所はデフォルトでは、ドキュメントルート直下の「<strong>html</strong>」ディレクトリです。</p>



<h3 class="wp-block-heading">サンプルPHPファイル</h3>



<p>test/index.phpのサンプルです。<br>ページクラスを<em><strong>page_extends/test/LC_Page_Test_Ex.php</strong></em>としています。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>&lt;?php
require_once &#39;../require.php&#39;;
// ページクラスを書き換え（１）
require_once CLASS_EX_REALDIR . &#39;page_extends/test/LC_Page_Test_Ex.php&#39;;

//  ページクラスを書き換え（２）
$objPage = new LC_Page_Test_Ex();
$objPage-&gt;init();
$objPage-&gt;process();</code></pre></div>



<h2 class="wp-block-heading">ページクラスを作成</h2>



<p>PHPファイルで呼び出ししたページクラスを設置します。</p>



<p>このクラスの<strong>action</strong>メソッドに、ビジネスロジックを実装していきます。</p>



<p>既存のページクラスと作りを合わせましょう。<br>LC_Page_Exを継承してクラスを作成します。</p>



<p>ディレクトリは、<strong>「data/class_extends」</strong>配下です。</p>



<h3 class="wp-block-heading">ページクラスのサンプル</h3>



<p>ビジネスロジックがないの空のページクラスのサンプルです。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>&lt;?php
require_once CLASS_EX_REALDIR . &#39;page_extends/LC_Page_Ex.php&#39;;

class LC_Page_Test_Ex extends LC_Page_Ex
{
    /**
     * Page を初期化する.
     *
     * @return void
     */
    public function init()
    {
        parent::init();
    }

    /**
     * Page のプロセス.
     *
     * @return void
     */
    public function process()
    {
        parent::process();
        $this-&gt;action();
        $this-&gt;sendResponse();
    }

    /**
     * Page のアクション.
     *
     * @return void
     */
    public function action()
    {
		// ここに処理を実装
		echo &quot;テストページです&quot;;

    }
}</code></pre></div>



<h2 class="wp-block-heading">テンプレートファイルを配置</h2>



<p>最後にテンプレートファイルを配置します。<br>ディレクトリは、<strong>「data/Smarty/templates/｛端末別ディレクトリ｝/」</strong>配下です。<br><strong>dtb_pagelayout</strong>で登録したファイル名でテンプレートファイルを配置します。</p>



<h3 class="wp-block-heading">テンプレートファイルのサンプル</h3>



<p><strong>HTML</strong>や<strong>Smarty</strong>で実装しま。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ja&quot;&gt;
PCページです
&lt;/html&gt;</code></pre></div>



<p>これで、新規ページの追加は完了です。<br><strong>/test</strong>へアクセスして新しく追加されたページを確認してみましょう。</p>



<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8165411688183013"
     crossorigin="anonymous"></script>
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-8165411688183013"
     data-ad-slot="6898168693"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">まとめ</h2>



<p>ざっくり簡単にEC-CUBE２のフロントの新規ページの作成方法でした。</p>



<p>このサンプルをテンプレートとしてページを追加して、カスタマイズしていくのも良いかもしれません。</p>



<p>この記事が少しでもお役に立てれば幸いです。</p>



<p>最後までお読み頂きありがとうございました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev-memo.net/ec-cube2_add_front_page/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【EC-CUBE2】 SQLをデバック出力する方法</title>
		<link>https://dev-memo.net/eccube2_sql/</link>
					<comments>https://dev-memo.net/eccube2_sql/#respond</comments>
		
		<dc:creator><![CDATA[キミヒラ]]></dc:creator>
		<pubDate>Mon, 14 Nov 2016 10:54:19 +0000</pubDate>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://dev-memo.net/?p=194</guid>

					<description><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2017/02/shopping-cart-1269166_1920-1024x678.jpg" class="webfeedsFeaturedVisual" /></p>EC-CUBE２で実行されるSQLをデバッグ出力する方法について。 コードをコピペする事で、実行されたSQLを画面にデバッグ出力できます。 EC-CUBE2でSQLをデバックするソースコード 下記の処理を追加する事で、画 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2017/02/shopping-cart-1269166_1920-1024x678.jpg" class="webfeedsFeaturedVisual" /></p>
<p>EC-CUBE２で実行されるSQLをデバッグ出力する方法について。</p>



<p><span class="swl-marker mark_yellow">コードをコピペする事で、実行されたSQLを画面にデバッグ出力できます。</span></p>



<h2 class="wp-block-heading">EC-CUBE2でSQLをデバックするソースコード</h2>



<p>下記の処理を追加する事で、画面にずらずらと発行されたSQLが出力されます。</p>



<p>修正ファイル<br><em><strong>data/class/SC_Query.php</strong></em></p>



<p><strong>execute</strong>メソッドの、<strong>return</strong>の前に下記を追加。（1058行目あたり）</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>        $query = $sth-&gt;query;
        foreach ($arrVal as $value) {
                $pos = strpos($query, &quot;?&quot;);
                $query = substr_replace($query, $value, $pos, 1);
        }
        print_r($query . &quot;;&lt;br /&gt;\n&quot;);</code></pre></div>



<p class="is-style-icon_info"><span class="rmarker">この処理を入れると何故か管理画面のログイン後、ページが表示されなくなるので、管理画面のデバッグの際は、ログイン後にこの処理を追加</span>してください。</p>



<h2 class="wp-block-heading">まとめ</h2>



<p>開発中にSQLを確認したいときに使える処理でした。</p>



<p>この記事が少しでも参考になれば幸いです。</p>



<p>最後までお読みいただきありがとうございました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev-memo.net/eccube2_sql/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【EC-CUBE】CSV出力設定「出力設定リストが入力されていません」エラーで登録できない件の修正方法</title>
		<link>https://dev-memo.net/eccube_csv_error/</link>
					<comments>https://dev-memo.net/eccube_csv_error/#respond</comments>
		
		<dc:creator><![CDATA[キミヒラ]]></dc:creator>
		<pubDate>Mon, 24 Oct 2016 12:57:10 +0000</pubDate>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://dev-memo.net/?p=163</guid>

					<description><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2016/10/analysis-1841158_1280-1024x682.jpg" class="webfeedsFeaturedVisual" /></p>EC-CUBE2で作ったサイトのクライアントから、CSV出力設定の登録が出来ないとの連絡が。 CSV出力する項目を設定しているにもかかわらず、「※ 出力設定リストが入力されていません。」とエラーになり登録出来ないという事 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2016/10/analysis-1841158_1280-1024x682.jpg" class="webfeedsFeaturedVisual" /></p>
<p>EC-CUBE2で作ったサイトのクライアントから、CSV出力設定の登録が出来ないとの連絡が。</p>



<p><span class="rmarker"><span class="swl-marker mark_orange">CSV出力する項目を設定しているにもかかわらず、「※ 出力設定リストが入力されていません。」とエラーになり登録出来ないという事象。</span></span></p>



<p>調べてみると、<span class="ymarker">特定の条件（操作）を行った時のみ発生</span>する事象で今まで気づきませんでした。</p>



<p>何も手を加えていないEC-CUBE2でも同じ事象が発生したので、<strong><span class="ymarker">EC-CUBE本体の潜在的な事象</span></strong>のようです。</p>



<p>この事象の修正方法を解説します。</p>



<p class="is-style-icon_announce"><span class="ymarker">コピペで直せるようにソースも掲載しています</span>。</p>



<h2 class="wp-block-heading">特定の条件で発生する</h2>



<p>事象を再現させる方法は下記の通り。</p>



<ol><li>全ての項目を<strong>「CSV出力する項目」</strong>に設定してある状態で保存します。</li><li>再度、設定画面を開き<strong>「&lt;&lt;」</strong>ボタンで、全ての項目を<strong>「CSV出力しない項目」</strong>へ移動します。</li><li>その状態から、適当な項目を<strong>「CSV出力する項目」</strong>へ移動します。</li><li><strong>「この内容で登録する」</strong>ボタンで保存。</li><li><span style="color: #ff0000;"><strong><span class="swl-inline-color has-black-color">「※ 出力設定リストが入力されていません。」</span></strong></span>エラーが発生。</li></ol>



<p><span class="swl-marker mark_yellow"><span class="rmarker">一旦全ての項目をCSV出力しない項目にしてから、CSV出力する項目を設定していくとエラーにな</span>ります。</span><br><span class="rmarker">ただし、もとからCSV出力しない項目として保存済の項目をCSV出力する項目に設定するとエラーは発生し</span>ません。</p>



<h2 class="wp-block-heading">修正方法</h2>



<p>調べてみるとJavaScriptで出力項目の選択の状態を変更しているんですが、POSTされたデータでは未選択になっていました。</p>



<p>選択状態を正しくformに反映されるように処理を追加すると正しく動作します。</p>



<p>修正ファイルは下記のテンプレート<br><strong><em>/data/Smarty/templates/admin/contents/csv.tpl</em></strong></p>



<p>scriptタグの中に下記のfunctionを追加。(53行目あたり)</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>function setOutputList() {
	var selected = new Array();
	$(&#39;select[name=&quot;output_list[]&quot;]&#39;).children(&#39;option[selected=&quot;selected&quot;]&#39;).each(function() {
		selected.push($(this).val());
	});
	$(&#39;select[name=&quot;output_list[]&quot;]&#39;).val(selected);
}</code></pre></div>



<p><strong>「この内容で登録する」</strong>ボタンのon_clickで、上記のfunctionを呼び出す。（83行目あたり）</p>



<p>変更前</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;li&gt;&lt;a class=&quot;btn-action&quot; href=&quot;javascript:;&quot; onclick=&quot;eccube.fnFormModeSubmit(&#39;form1&#39;, &#39;confirm&#39;, &#39;&#39;, &#39;&#39;); return false;&quot;&gt;&lt;span class=&quot;btn-next&quot;&gt;この内容で登録する&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;</code></pre></div>



<p>変更後</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;li&gt;&lt;a class=&quot;btn-action&quot; href=&quot;javascript:;&quot; onclick=&quot;setOutputList();eccube.fnFormModeSubmit(&#39;form1&#39;, &#39;confirm&#39;, &#39;&#39;, &#39;&#39;); return false;&quot;&gt;&lt;span class=&quot;btn-next&quot;&gt;この内容で登録する&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;</code></pre></div>



<p>この修正で当該エラーは解決されると思います。</p>



<p>この記事が少しでも参考になれば幸いです。</p>



<p>最後までお読み頂きありがとうございました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev-memo.net/eccube_csv_error/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【EC-CUBE3】管理画面のサイドメニューの変更</title>
		<link>https://dev-memo.net/eccube3_side_menue/</link>
					<comments>https://dev-memo.net/eccube3_side_menue/#respond</comments>
		
		<dc:creator><![CDATA[キミヒラ]]></dc:creator>
		<pubDate>Wed, 05 Oct 2016 10:00:27 +0000</pubDate>
				<category><![CDATA[EC-CUBE]]></category>
		<guid isPermaLink="false">http://dev-memo.net/?p=136</guid>

					<description><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2016/10/e-commerce-402822_1280-1024x682.jpg" class="webfeedsFeaturedVisual" /></p>EC-CUBE3は２からまるっきり変わりましたね。 EC-CUBE2での開発は長いことやっているんですが、EC-CUBE3ではサイドメニューを追加するだけでも手間取ってしまいました。 EC-CUBE３でサイドメニューを修 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://dev-memo.net/wp-content/uploads/2016/10/e-commerce-402822_1280-1024x682.jpg" class="webfeedsFeaturedVisual" /></p>
<p>EC-CUBE3は２からまるっきり変わりましたね。</p>



<p>EC-CUBE2での開発は長いことやっているんですが、EC-CUBE3ではサイドメニューを追加するだけでも手間取ってしまいました。</p>



<p>EC-CUBE３でサイドメニューを修正する方法についてメモしておきます。</p>



<h2 class="wp-block-heading">nav.yml.distを修正する</h2>



<p>下記のファイルのパラメータを変更すると管理画面のサイドメニューに反映されます。<br>これはYAML形式の設定ファイルです。</p>



<p class="is-style-dent_box"><span style="color: #0000ff;"><span class="swl-inline-color has-black-color">src/Eccube/Resource/config/nav.yml.dist</span></span></p>



<p>メニューの追加、削除や、文言、URLの修正もこのファイルの修正で対応できます。</p>



<h3 class="wp-block-heading">試しに追加してみる</h3>



<p>試しに、「集計」メニューを追加してみます。<br>下記のコードをnav.yml.distの末尾に追加します。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>- id: summary
  name: 集計
  url: admin_summary</code></pre></div>



<p>そうすると下記のようにメニューが追加されます。</p>



<figure class="wp-block-image is-style-shadow"><img decoding="async" width="232" height="361" src="http://dev-memo.net/wp-content/uploads/2016/10/スクリーンショット-2016-10-05-18.51.40-1.png" alt="" class="wp-image-344" srcset="https://dev-memo.net/wp-content/uploads/2016/10/スクリーンショット-2016-10-05-18.51.40-1.png 232w, https://dev-memo.net/wp-content/uploads/2016/10/スクリーンショット-2016-10-05-18.51.40-1-193x300.png 193w" sizes="(max-width: 232px) 100vw, 232px" /></figure>



<p>修正自体は簡単です。</p>



<h2 class="wp-block-heading">まとめ</h2>



<p>ECCUBE3でかなりアップデートされましたね。<br>使われている技術が新しいものに入れ替わっています。</p>



<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://doc.ec-cube.net/guideline_architecture
</div></figure>



<p>この記事が少しでもお役に立てれば幸いです。</p>



<p>最後までお読みいただきありがというございました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev-memo.net/eccube3_side_menue/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
