Yahooショップで1つの商品を複数カテゴリーに登録する

楽天ならカテゴリーをいくつか作って、商品ページ作ったら、↓の「表示先カテゴリ」欄の1~5に属するカテゴリーの「カテゴリー名」を入れたらいいものを…

Yahooでは、商品ページにそんな設定箇所がないので、まずは1つのカテゴリーに所属させて商品ページを作って、地道に他のカテゴリーと結び付けていく…

1. 【ページ編集】のサイドメニュー「カテゴリーページ作成」でカテゴリーAを作る
2. 1で作ったカテゴリーAをクリックした状態で、サイドメニュー「商品ページ作成」をクリック
3. 普通に商品ページAを作成
4. 【ページ編集】の「カテゴリーページ作成」でカテゴリーBを作る
5. 【商品管理】のサイドメニュー「カテゴリリスト」で、3で作った商品ページAをクリック
6. 表示された「商品一覧」の中の商品ページAの左にある「選択」の□をチェック
7. 「商品一覧」の上部メニュー「リンク」をクリック
8. これまで作成されたカテゴリーの一覧が表示されるので、2個目に所属させたいカテゴリーの左の「選択」の○にチェック
9. 「確認」をクリック→「更新」をクリック

商品ページAが10個くらいのカテゴリーに所属してたら、地道に上記1~9を繰り返す…
商品数が多かったらCSVで一気に上げた方が早い

EC-CUBE3.013 WordPressの新着情報をトップページに表示

EC-CUBE3.013の同階層にWordpressをインストールして、その新着情報をショップのトップページに表示してみようかな、と
EC-CUBE2系ではPHPタグが普通に使えたので、「require (‘wp-load.php’);」でwordpressのタグを埋め込んで、うにゃうにゃと表示させていたのだけれど…

Symfony…苦手

でも↓こういうのを見つけた
TwigPHPExtension.php

twigの中で強引にPHPの関数を頭に「php_」を入れることで使えるようにしちゃう荒技

1.「src/Eccube/Twig/Extension/EccubeExtension.php」の「public function getFunctions()」に以下を追記

new \Twig_SimpleFunction('php_*', array($this,'phpFunctions'),array('is_safe' => array('html'))),

2.続いて「class EccubeExtension extends \Twig_Extension」内に以下を追記

public function phpFunctions()
    {
        $arg_list = func_get_args();
        $function = array_shift($arg_list);
 
        if(is_callable($function)){
            return call_user_func_array($function, $arg_list);
        }

        $errMsg = 'Called to an undefined function : <b>php_' . $function . "</b> ";
        trigger_error($errMsg, E_USER_NOTICE);
        return NULL;
    }

3.サーバー内のどこでもいいので、以下のような内容の「news.php」ファイルを作成
 ※「wp-load.php」のパスを間違えないように

<?php
$webroot = $_SERVER['DOCUMENT_ROOT'];
require ($webroot.'/wp-load.php'); ?>
<style type="text/css">
#top_info {
	padding:0 10px 15px 18px;
	width:100%;
}
#top_info span {
	padding-right:15px;
}
#top_info li {
	line-height:2;
}
#top_info li a {
	text-decoration:none;
	color:#666;
	display:block;
}
#top_info li a:hover {
	color:#333;
}
</style>
                <ul id="top_info">
				<?php 
				$newslist = get_posts( array(
					'category_name' => 'information',
					'posts_per_page' => 5
				));
				foreach( $newslist as $post ):
					setup_postdata( $post );
				?>
                    <li><a href="<?php the_permalink(); ?>" target="_blank"><span><?php the_time('Y.n.d'); ?></span>
					<?php the_title(); ?></a></li>
				<?php
                    endforeach;
                    wp_reset_postdata();
                ?>
                </ul>

4.EC-CUBE内の新着情報を表示するブロック「app/template/default/Block/news.twig」を以下に書き換え

<div class="col-sm-9 news_contents">
    <div id="news_area">
        <h2 class="heading01">新着情報</h2>
        <div class="accordion">
            <div class="newslist">
			{{ php_file_get_contents('http://ドメイン名/news.php') }}
            </div>
        </div>
    </div>
</div>

いつかSymfonyを好きになれる日が来るのかな…

EC-CUBE3.013 URLの変更(ドメイン直下に)

1.本家サイトからダウンロードしたEC-CUBE3を解凍して、以下だけアップロード

	app
	html
	src
	vender
	autoload.php
	cli-config.php

2.「http://○○○/html/」にアクセスし、インストール

3.サーバーの以下をダウンロードして、変更後、アップロード

「index.php」

require __DIR__.'/../autoload.php'; を require __DIR__.'/autoload.php';

「index_dev.php」

'/../autoload.php' を '/autoload.php'
'/../app/config/eccube/config_dev.yml' を '/app/config/eccube/config_dev.yml'
'/../app/cache/profiler' を '/app/cache/profiler'

「/app/config/eccube/path.yml」

「root_urlpath:」の「/html」を削除

雪遊び

先週末の雪で庭に約20cm積もりました
そこで雪遊び
1歩進むにもジャンプなので、かなり体力使ったのではないかと思われます

ほぼほぼ埋もれています…
この日、「遊ぶ→洗う→乾かす」×3セット
この「洗う」は足が短すぎて「足だけ」というわけにはいかず、大変な作業でした

EC-CUBE3.013 お問い合わせフォームに項目を増やす

セレクトボックスと普通のテキスト欄と追加してみる

☆セレクトボックスは必須項目に
☆管理画面からセレクトボックスの内容を追加できない簡単使用

 

1.「src/Eccube/Form/Type/Front/ContactType.php」に追記

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
            ->add('onumber', 'text', array(
                'label'     => 'ご注文番号',
                'required' => false,
            ))

            ->add('sentaku', 'choice', array(
        			'choices'  => array(
            			'1' => 'お問い合わせ',
            			'2' => 'ご要望'
					),
                'label'     => 'お問い合わせ種類',
                'required' => true,
            ));
    }

2.「app/template/default/Contact/index.twig」に追記

	<dl id="top_box__sentaku">
		<dt>{{ form_label(form.sentaku) }}</dt>
		<dd class="form-group">
		{{ form_widget(form.sentaku) }}
		{{ form_errors(form.sentaku) }}
		</dd>
	</dl>
                                                                
	<dl id="top_box__onumber">
		<dt>{{ form_label(form.onumber) }}</dt>
		<dd class="form-group">
		{{ form_widget(form.onumber) }}
		{{ form_errors(form.onumber) }}
		</dd>
	</dl>

3.「app/template/default/Contact/confirm.twig」に追記

	<dl id="top_box__sentaku">
		<dt>{{ form_label(form.sentaku) }}</dt>
		<dd class="form-group">
		{{ form_widget(form.sentaku) }}
		</dd>
	</dl>

	<dl id="confirm_box__onumber">
		<dt>{{ form_label(form.onumber) }}</dt>
		<dd>
		<div class="form-group">
		{{ form_widget(form.onumber) }}
		</div>
		</dd>
	</dl>

4.「app/template/default/Mail/contact_mail.twig」に追記

	お問い合わせ種類:{% if data.sentaku == 1 %}お問い合わせ{% elseif data.sentaku == 2 %}ご要望{% endif %}

	ご注文番号:{{ data.onumber }}

↓かなり参考にさせていただきました!
問い合わせフォームと確認画面に項目追加する方法

Symfony2のコーディング規約

クセでつい忘れがちななのが以下の規約
昔からタブ愛用者だったから…
あと「{」の位置も、つい If( $aaa ){ ってくっつけて書きそう
基本からNGです

■インデントには、空白4つを使い、タブを使ってはなりません
■行の終端の改行には LF(0x0A)を使います
■return 文の前には空行を1行開けます
■クラス宣言、メソッド宣言、関数宣言に使う波括弧は、それぞれ独立した1行に記述します
■条件文と開き波括弧との間には空白を1つ開け、改行してはなりません
■クラス、メソッド、プロパティのアクセス修飾子を明示的に宣言します(var を使うことは禁止されています)
■定数には大文字を使い、複数の単語をアンダースコアで結合します
■1つのファイルには、1つのクラスのみを定義します

Symfony Japan コーディング規約はこちら

寝る時は

寝ようとしたところをカシャリ。もう目が閉じそう

寝る時は横向きだったり、上を向いて寝たり
長いからだを真っ直ぐ伸ばして寝ること多々。(たまに丸くなってるような感じで寝る時もあるけれど)
掛け布団も、枕も使います

夜は9時前には就寝
朝は、家族の休日は9時まで。それ以外は8時まで寝てます
もちろん昼間も寝てます