WORDPRESSのビデオテュートリアル30選
http://sixrevisions.com/wordpress/30-excellent-wordpress-video-tutorials/
テーマの作成やカスタマイズ法などがビデオテュートリアルで公開されている。
但し、英語なので、全然分かってないところから、、、というのは、ちと厳しいかも。
大体概要は分かっていて、もう少しスキルブラッシュアップしたい、というときには、とてもいい勉強になりそう。
月: 2008年12月
http://sixrevisions.com/wordpress/30-excellent-wordpress-video-tutorials/
テーマの作成やカスタマイズ法などがビデオテュートリアルで公開されている。
但し、英語なので、全然分かってないところから、、、というのは、ちと厳しいかも。
大体概要は分かっていて、もう少しスキルブラッシュアップしたい、というときには、とてもいい勉強になりそう。
http://labs.edge.jp/cicindela/
アマゾンなどでよくある「この商品を見た(買った)人は他にこんな商品も見て(買って)います。」というアレですね。
既存サービスに追加して使用できるそう。EC-CUBEにも使えるかな?
SMARTYのテンプレートで商品説明などを表示するときに、レイアウト上、前から10文字だけを表示してあとは、「…」という感じで表示する文字数を合わせたいときに利用する。
前から何文字目から何文字、といったように文字を丸めるわけだが、日本語の場合マルチバイトなので、PHPで本来の丸めにつかうtrancate()が利用できないので、mb_strimwidth()を使う。
それをSMARTY上で、利用することになる。
例:
{$hoge|mb_strimwidth:0:40:”…”|escape}
『$hogeの文字列の最初から(=0)、40字(=40)を表示し、一番最後は「…」と表示する。』という意味。
注意しておくのは、どうやら、この40字、マルチバイトは半角の2文字なので、つまりは、これで20文字ということになる模様。なるほど。
これ、結構使えるなぁ。
参考:
http://www.php-seed.net/blog/archives/118
http://www.phppro.jp/phpmanual/php/function.mb-strimwidth.html
1)管理画面からブロック(tempA)を作る。 (※既存のテンプレブロックの場合は、これは不要)
2)読み込む側のテンプレのソースにインクルード用のコードを記述する。
<!–{assign var=tempA value=$smarty.const.USER_TEMPLATE_PATH|cat:”default/bloc/tempA.tpl“}–>
<!–{include file=$tempA}–>
重要!)先に変数にアサインしてから、インクルードすること。上記ソース参照。
下記でも可能。
<!–{include file=“`$smarty.const.USER_TEMPLATE_PATH`default/bloc/tempA.tpl“}–>
EC-CUBEでは、ブロックのデフォルトレイアウトが、update_block.sqlのSQL文によって設定されている。
管理画面でレイアウトを決めても、テンプレートを変更したり、キャッシュをクリアした場合、ブロックレイアウトの情報をこのupdate_block.sqlから新規に読み込んできてしまうため、その都度デフォルトのブロックレイアウトに変わってしまう。
これじゃあ、イタチのおっかけっこってやつじゃあないですかい?
ってことで、一旦リリースしたWEBサイトでは、次にテンプレ更新したときも、やっぱり同じブロックレイアウトで表示されたいですな、ってことで、どん。
update_block.sqlは、
/data/smarty/templates/(テンプレ名)/_packages/sql/
/user_data/packages/(テンプレ名)/sql/
/user_data/packages/default/sql/
にそれぞれあるので、ここの値を変更。
テンプレの更新時に読み込んでもらいたいなら(Aのテンプレでは、Aのブロックレイアウトセットを使うけど、違うテンプレのときには違うブロックレイアウトセットを使うときは)/data/smarty/templates/(テンプレ名)/_packages/sql/のなかのupdate_block.sqlのみ編集。
下記に編集ルールをば。
INSERT INTO dtb_blocposition (page_id,target_id,bloc_id,bloc_row,filename)values(1,5,1,0,’category’);
これは、前から、
と設定されているということで、
page_id | トップページ=1、一覧ページ=2、詳細ページ=3、マイページ=4、その他カスタムで作成したページへID付与。(dtb_pagelayout参照) |
---|---|
target_id | 左カラム=1、中央上カラム=2、右カラム=3、中央下カラム=4、未使用ブロック=5.mtb_target参照) |
bloc_id | カテゴリー=1、利用ガイド=2、かごの中=3等。(dtb_bloc参照) |
bloc_row | カラム内でのブロックの表示優先順位。0は非表示で、target_idに5(未使用ブロック)が選択されている場合に設定可能。 |
filename | カテゴリー=1、利用ガイド=2、かごの中=3等。(dtb_bloc参照)bloc_idと対応している。 |
つまり、上記の文では、トップページでは、カテゴリーブロックが未使用、ということ。
自分で、決めたレイアウトどおりにブロックの配列を記載しておくとよい。
新規ページを作成した場合、そのブロックの設定は、データベースのdtb_blocpositionに保存されるので、テンプレが更新されてもリセットはされない。デフォルトの各ページのみこのSQLの影響を受ける。もちろん新規ページについても同SQL内で設定しておくことも可能。