プラグイン > その他 > テンプレートとプラグインの競合について |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
non888 |
投稿日時: 2019/2/21 9:08
対応状況: −−−
|
常連 登録日: 2019/2/4 居住地: 投稿: 65 |
テンプレートとプラグインの競合について EC-CUBEバージョン:2.13.5
使用テンプレート:EC-CUBEレスポンシブWebデザインテンプレート No.L0082(2.13系) URL:https://www.ec-cube.net/products/detail.php?product_id=668 上記テンプレートを使用し、サイト制作をおこなっております。 注文時ののし対応を行おうと下記プラグインをいれ、テンプレートを使用している関係上のしプラグインが指定しているclass名がなかったのでそこを調整し、エラーは出なくなったのですが、肝心ののし選択項目が出力されていない状態です。 商品ののし対応の可・不可のせいかと確認してみましたが、「可」になっており、DB内の「dtb_products」の「plg_giftpaper_noshi」の値も「1」となっております。 下記コードが動作せず、項目が追加されていないようなのですが、どこを確認したらいいか分からない状態です。 よろしければご教授いただければ幸いです。 // 端末種別:PC case DEVICE_TYPE_PC: $template_dir .= "default/"; // 購入商品詳細画面 if(strpos($filename, "mypage/history.tpl") !== false) { $objTransform->select("#mypagecolumn #mycontents_area .mycondition_area.clearfix p br", 2)->insertAfter(file_get_contents($template_dir . "mypage/plg_GiftPaper_history_span.tpl")); } // お支払方法・お届け時間等の指定画面 if(strpos($filename, "shopping/payment.tpl") !== false) { $objTransform->select("#undercolumn #undercolumn_shopping .pay_area02", 1)->insertBefore(file_get_contents($template_dir . "shopping/plg_GiftPaper_payment_div.tpl")); } // ご入力内容のご確認画面 if(strpos($filename, "shopping/confirm.tpl") !== false) { $objTransform->select("#undercolumn #undercolumn_shopping .total_area", 11)->insertAfter(file_get_contents($template_dir . 'shopping/plg_GiftPaper_confirm_tr.tpl')); } break; ■使用のしプラグイン のし対応プラグイン URL:https://www.ec-cube.net/products/detail.php?product_id=278 |
468 |
投稿日時: 2019/2/21 10:12
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: テンプレートとプラグインの競合について shopping/payment.tplに
#undercolumn #undercolumn_shopping .pay_area02 のCSSセレクタに該当するタグは存在していますか? insertBefore()が指定されていますので、 そのタグの直前に plg_GiftPaper_payment_div.tpl の中身が挿入されると思います。
|
non888 |
投稿日時: 2019/2/21 10:30
対応状況: −−−
|
常連 登録日: 2019/2/4 居住地: 投稿: 65 |
Re: テンプレートとプラグインの競合について ご返答ありがとうございます。
「pay_area02」は存在しているのですが、挿入されない状態です。 下記のデバッグコードを「insertBefore()」される近くに設定しても出力されない場合があります。 これは、「payment.tpl」を読み込む際、うまくのしプラグインのinsertBefore()のコードを読み込んでないという事なのでしょうか。 プラグインを一旦無効にし、再度有効にするとデバッグコードが正常に動作します。 ======================================= ログへの出力 GC_Utils_Ex::gfDebugLog($var); 画面への出力 SC_Utils::sfPrintR( $var ); ======================================= また、一点機能についてお聞きしたいのですが、「$objTransform->select()」にて、タグの指定の後ろに1や11など数字が指定されているのですが、こちらがなんの意味があるのかイマイチ理解できておりません。 こちらの指定は、なんの意味があるのかご存知でしたら教えていただけますでしょうか。 |
non888 |
投稿日時: 2019/2/21 10:54
対応状況: 解決済
|
常連 登録日: 2019/2/4 居住地: 投稿: 65 |
Re: テンプレートとプラグインの競合について 今回設定しようとしていたサイトの「pay_area02」がif文の中にあり、「insertBefore」でうまく挿入ができていなかったようです。
if文で囲っていない箇所に「pay_area02」を追加したら正常に挿入されました。 ありがとうございます。 |
468 |
投稿日時: 2019/2/21 10:55
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: テンプレートとプラグインの競合について #undercolumn #undercolumn_shopping .pay_area02の
セレクタですが、 .pay_area02だけでなく、その親の要素も完全に一致していないといけません。 #undercolumnの子要素に#undercolumn_shoppingの要素があり、 さらにその子要素に.pay_area02があるかどうかまでが判定の範囲となっていると思います。 htmlの構造が変わってしまうとその辺りかうまく判定されなくなりますので、 プラグイン側のセレクタの指定を.pay_area02だけにしても良いかもしれません。 ※.pay_area02か1つのページ内に複数ある場合は、class属性ではなくid属性を指定するなどテンプレートと合わせて調整か必要です。 質問の引数の数値について、 ハッキリと覚えていないのですが、 該当する要素が見つからない時に、エラーを発生させるか、スルーするかの判定値だったと思います。 ここについては、functionを定義しているコードを確認するのが確実かと思います。
|
non888 |
投稿日時: 2019/2/21 11:58
対応状況: −−−
|
常連 登録日: 2019/2/4 居住地: 投稿: 65 |
Re: テンプレートとプラグインの競合について ちなみにプラグインの設定ファイルを編集後、エラーになるようなコードを試しに記入してもならない場合があるのですが、キャッシュや反映に時間がかかるなどあるのでしょうか。
|
468 |
投稿日時: 2019/2/21 12:30
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: テンプレートとプラグインの競合について 設定ファイルは、プラグインを無効→有効の操作を行わないと反映されない事があったかと思います。
私はプラグインのファイルを上書きしたような時は無効→有効の操作を必ず行うようにしています。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |