デザイン管理>PC>ページ詳細設定で編集するec-cubeの「ページ」に
作成したブロックをインクルードしたくて、できたのでメモ。
▼ページ詳細の中の好きな場所に
<!--{include file=`$smarty.const.TEMPLATE_REALDIR`frontparts/bloc/xxx.tpl}-->
これをいれればOK。「xxx.tpl」のところはブロックのファイル名にしてください。
includeの記述はバージョンによって異なるみたい。
デザイン管理>PC>ページ詳細設定で編集するec-cubeの「ページ」に
作成したブロックをインクルードしたくて、できたのでメモ。
▼ページ詳細の中の好きな場所に
<!--{include file=`$smarty.const.TEMPLATE_REALDIR`frontparts/bloc/xxx.tpl}-->
これをいれればOK。「xxx.tpl」のところはブロックのファイル名にしてください。
includeの記述はバージョンによって異なるみたい。
wordbookerが設定も簡単で重宝していたのですが、今月あたりから使えなくなり、サポートも終了とのことで乗り換えプラグインを探すことに。
いろいろ調べて「Social Networks Auto Poster」が便利そう!で入れてみました。
wordbookerではAppを作る必要がなかったのですが、
Social Networks Auto PosterではFB Appを作成しAppIDとPWが必要になります。
そこが面倒だったのですが、設定もわかりやすく、無事WP投稿がFBのタイムラインに反映されてよかったよかった。
と、安心してたら問題が。。。
FB投稿(リンクシェア)が一般に公開されない!
FB管理者で入って確認するとちゃんと反映されてるし一般公開になってるのに
ログアウトしてFBページを見てみると反映されていない。。
Appについて無知だったことが一番の原因なんですが・・・
▼赤枠の部分が●じゃなくて○になっていたら要注意。
マウスを当てると「not available to all users because your app is not live」になります。
つまり、「アプリが生きていないため、すべてのユーザーが利用できない」ってこと。
こりゃいかん。
①まずSetting(設定)画面でメールアドレスを入力し、変更を保存。
②次にStatus&Reviewを開き、「公開しますか?」的な英文の横のボタンをクリックしYesに。
なんかウィンドウがでてきたら「承認」をクリック。
▲さっき○だった部分が●になります。
これで完了。
今まで公開されていなかった投稿も全部一般にも公開されました!
・ベースはダーク。
・ヘッダー/フッターなし。
・背景色なし。
・スクロールバーなし
<a class="twitter-timeline" data-theme="dark" data-dnt="true" href="https://twitter.com/sampledesuyo" data-widget-id="365155945216614402" data-chrome="noheader nofooter transparent noscrollbar"data-link-color="#CCCCCC">@サンプルですよ からのツイート</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
使うときは↑をコピペして、
href="https://twitter.com/sampledesuyo" data-widget-id="365155945216614402"
の部分を自分のに変更する。
▼実際の表示(親divに背景色#333指定)
幅と高さはスタイルシートで。
iframe{ width:100% !important ; height:200px !important; }
box-shadowを付けたいボックスの下の要素にbackgroundが入っているとbox-shadowが効かない・・・というか見えなくなってしまう。
↓の図でいうと、1番目のDIVは2番目のDIVのbackgroundがnoneなのでシャドウが効いてる。
2番目のDIVは3番目のDIVにbackgroundが入っているため効かなくなっている。
3番目のDIVは下に何もないので効いてる。
▼効かなくなってしまったボックスにこれをつける
div#box02{ position:relative; z-index:2; }
z-indexの値は適当に。
▼バージョンアップ前にあった「その他の色」。クリックするとカラーピッカーが出てくる。
▼TinyMCE Advanced 4.0に更新したら「その他の色」がない!
▼http://www.laptoptips.ca/projects/tinymce-advanced/より
The “More Colors” dialog is missing
This is a change in TinyMCE 4.0. By default is includes only pre-defined colors. If you prefer to select custom colors, try the TinyMCE Color Picker plugin.
▼入れてみた。
▼「Add a color」をクリックするとカラーピッカーが出て
▼「Apply」をクリックすると
▲ここに登録されるみたい。新規投稿のときもこの色は残ってて便利かも。
この最新バージョン、他にも使えなくなってしまった機能がいろいろあるらしい。。
テーブルのセルの背景色とか。
そんなときはめんどいけど前のバージョンをインストールしなおしたほうが早いかも~
▼ここから好きなバージョンをげっとできます。
http://wordpress.org/plugins/tinymce-advanced/download/
EC-CUBEのデフォルト機能「複数のお届け先」。これが、送料無料のときどうするかとかいろいろやっかい。
ならいっそこの機能を解除してしまえばいいじゃない。
管理画面から簡単に設定できる。
【USE_MULTIPLE_SHIPPING】のパラメーター値を【false】にするだけ。
以上
静的なページのサイトをWPに移行するときに、とりあえず今のサイトはそのままで同じディレクトリにWPインストールして制作を進めることってよくありますよね?
ユーザーからは基本的にhttp://example.com/index.tmlが見える。
制作のチェック時はhttp://example.com/index.phpにアクセスして表示を確認ってこと。
それをやろうとしたところ、どうしてもhttp://example.com/index.phpからhttp://example.com/にリダイレクトされてしまう。。
困った。
.htaccessを確認してサイトURL統一のため(SEO対策)の▼コレ系の記述があったらコメントアウトしておく。
RewriteCond %{THE_REQUEST} ^.*/index.(html|php) RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L]
▼コメントアウトの方法は#を先頭につけるだけ。
# RewriteCond %{THE_REQUEST} ^.*/index.(html|php) # RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L]
参考にしたページ⇒http://ja.forums.wordpress.org/topic/1112
「wpncludes」の中の「canonical.php」を開く。
▼WP3.8.1だと、342行目の1行をコメントアウト。
// trailing /index.php // $redirect['path'] = preg_replace('|/' . preg_quote( $wp_rewrite->index, '|' ) . '/*?$|', '/', $redirect['path']); // Remove trailing spaces from the path $redirect['path'] = preg_replace( '#(%20| )+$#', '', $redirect['path'] );
これで解決
・WP3.7ぐらいから勝手にマイナーアップデートされるようになってるので、そのたびにやらなきゃダメです。
・オープンしてしまえば逆にURLが統一されるのでイイコトなので戻しておきます。
EC-CUBEはスマホでアクセスした場合自動でテンプレートがスマホ用に切り替わりますが、PCサイトをレスポンシブにしてたり、スマホでもPCサイトで見せたかったりする場合の対処方法。
▼140行目あたり
/** * 端末種別を判別する。 * * SC_Display::MOBILE = ガラケー = 1 * SC_Display::SMARTPHONE = スマホ = 2 * SC_Display::PC = PC = 10 * * @static * @param $reset boolean * @return integer 端末種別ID */ public static function detectDevice($reset = FALSE) { if (is_null(SC_Display_Ex::$device) || $reset) { $nu = new Net_UserAgent_Mobile(); $su = new SC_SmartphoneUserAgent_Ex(); if ($nu->isMobile()) { SC_Display_Ex::$device = DEVICE_TYPE_MOBILE; } elseif ($su->isSmartphone()) { SC_Display_Ex::$device = DEVICE_TYPE_SMARTPHONE; } else { SC_Display_Ex::$device = DEVICE_TYPE_PC; } }
↑ここで振り分けが行われているので、全部PC版で見せるなら
▼こんな感じにいらない部分をコメントアウト(//)しちゃう。
/** * 端末種別を判別する。 * * SC_Display::MOBILE = ガラケー = 1 * SC_Display::SMARTPHONE = スマホ = 2 * SC_Display::PC = PC = 10 * * @static * @param $reset boolean * @return integer 端末種別ID */ public static function detectDevice($reset = FALSE) { if (is_null(SC_Display_Ex::$device) || $reset) { $nu = new Net_UserAgent_Mobile(); $su = new SC_SmartphoneUserAgent_Ex(); // if ($nu->isMobile()) { // SC_Display_Ex::$device = DEVICE_TYPE_MOBILE; // } elseif ($su->isSmartphone()) { // SC_Display_Ex::$device = DEVICE_TYPE_SMARTPHONE; // } else { SC_Display_Ex::$device = DEVICE_TYPE_PC; // } }
これでOK。
発送完了メールとか、よく使うメールをテンプレとして登録しておくと便利。
管理画面【システム設定】⇒【マスターデータ管理】
【mtb_mail_template】を選び、選択ボタンをクリック
追加のデータの欄に好きなID(他とかぶらないように)と値を入れる。
【mtb_mail_tpl_path】を選び、選択ボタンをクリック
ここで自動挿入される注文情報とかのtplファイルを作る。
新しく作ってもいいし、他と同じでよければ同じ値をいれておく。
ID:さっき作ったID。
値:「mail_templates/●●.tpl」と入力。●●は好きなように。
で、登録。
その後、「●●.tpl」というファイルをローカルで好きなように作成し、FTPでアップ。
お好きなテンプレの値(「order_mail.tpl」とか)をコピペ。
ヘッダー・フッターはもちろん個別に編集できる。データを取得して出力される部分のみ。同じになる。
【基本情報管理】>【メール設定】で先ほど作ったテンプレートが入っているか確認。
入っていたら「メールタイトル」や「ヘッダー」「フッター」を入れる。
受注管理からメールを送りたい顧客の【メール】列【個別通知】をクリック
テンプレートを選んで進んでいけばOK
・$(window).load ページ読み込み完了時
・$(window).scroll スクロールしたとき
・$(window).resize ウィンドウサイズ変えたとき
レスポンシブサイトとかで、高さを操作するときとかポジションを操作するときとかに
上記イベントを使うことが多いのだけど、全部まとめて同じ動きしてほしいのってときの書き方
▼元(めんどいほう)
$(function(){ $(window).load(function(){ //やりたい処理 }); $(window).scroll(function(){ //やりたい処理 }); $(window).resize(function(){ //やりたい処理 }); });
▼まとめて書く
$(function(){ $(window).on('load scroll resize',function(){ //やりたい処理 }); });
ちなみに.bindとかがjQuery1.7ぐらいから非推奨になり、代わりに.onで書くようになったそうです。