[解決済み] 商品一覧ページに売切の表示を出したいのですが。
-
投稿者投稿
-
2011年8月18日 2:18 AM #50596ipd参加者
https://www.welcart.com/forum/topic.php?id=875
上記トピックを参考に意味は理解したのですがコードの書き方がどうしても分かりませんで…
ご教授頂けませんでしょうか?
宜しくお願い致します。
商品一覧レイアウト拡張プラグイン Item List Layoutを使用してThemeはデフォルトのもので無いものをカスタマイズして使用しております。
2011年8月19日 12:17 AM #62600nanbuキーマスターこんにちは。
どの変がわからないのか、もう少し絞り込んでご質問いただけますでしょうか。例えばこうしてみたけど何も表示されないや、このようなエラーが出るなど、実際に試してみたコードを見せていただくとどこに問題点があるのかがわかると思います。よろしくお願いいたします。
2011年8月19日 5:05 AM #62601ipd参加者申し訳ありません、function.phpに下記コードを追加致しました。
<?php
add_filter(‘item_list_layout_filter_list’, ‘my_item_list_layout_filter_list’, 10, 3);
function my_item_list_layout_filter_list(){
$args = func_get_args();
$post = $args[1];
$opts = $args[2];
$opts = $args[3];
$width = $opts;
$colum = $opts;
$limargin = $opts;
$lipadding = $opts;
$liborder = $opts;
$liwidth = ($width + $limargin) / $colum – $limargin – ($lipadding * 3) – ($liborder * 3);
$liheight = $opts – $lipadding * 3;
$txtheight = $opts;
$imgwidth = $liwidth;
$imgheight = $liheight – $txtheight;
$border = $liborder ? ” : ‘border:0px’;
$list = ‘<li id=”ill_li” class=”item_list_layout_li” style=”text-align: center; overflow: hidden; display: block; float: left; padding:’.$lipadding.’px; width:’.$liwidth.’px; height:’.$liheight.’px; margin-right:’.$limargin.’px; margin-bottom:’.$limargin.’px; ‘.$border.'”>ID) . ‘”>’ . usces_the_itemImage(0, $imgwidth, $imgheight, $post, ‘return’ ) . ‘<div class=”thumtitle”>’ . esc_html(usces_the_itemName(‘return’)) . ‘</div><div class=”zaiko”>’ . esc_html(usces_the_itemZaiko(‘return’)) . ‘</div><div class=”price”>’ . __(‘$’, ‘usces’) . number_format(usces_the_firstPrice(‘return’)) . $usces->getGuidTax() . ‘</div><div class=”exp”>’ . $excerpt . ‘</div>’ ;
return $list;
}
?>
するとエラーで下記コードが出てしまいます。
Warning: Division by zero in /export/sd203/www/jp/r/e/gmoserver/7/9/sd0211679/imperial-designworks.com/blog/wp-content/themes/gents-company/functions.php on line 13
Fatal error: Call to a member function getGuidTax() on a non-object in /export/sd203/www/jp/r/e/gmoserver/7/9/sd0211679/imperial-designworks.com/blog/wp-content/themes/gents-company/functions.php on line 20
どうか宜しくお願い致します。
2011年8月19日 7:22 AM #62602nanbuキーマスター次の3つの修正でエラーは無くなると思います。
まず一つは、関数my_item_list_layout_filter_list() の冒頭で$usces をグローバル宣言してください。(
global $usces;
)次に、$opts = $args[3]; は必要ありませんので削除してください。
もう一つは、$list に代入している部分でクオートの整合性が取れていないところがございます。(
'">ID) . '">'
)2011年8月19日 7:56 AM #62603ipd参加者お忙しい所わざわざご教授感謝致します、下記コードに編集致しましたがエラーが出ます…
書き方間違えておりますでしょうか?
コード
<?php
add_filter(‘item_list_layout_filter_list’, ‘my_item_list_layout_filter_list’, 10, 3);
global $usces;function my_item_list_layout_filter_list(){
$args = func_get_args();
$post = $args[1];
$opts = $args[2];
$width = $opts;
$colum = $opts;
$limargin = $opts;
$lipadding = $opts;
$liborder = $opts;
$liwidth = ($width + $limargin) / $colum – $limargin – ($lipadding * 3) – ($liborder * 3);
$liheight = $opts – $lipadding * 3;
$txtheight = $opts;
$imgwidth = $liwidth;
$imgheight = $liheight – $txtheight;
$border = $liborder ? ” : ‘border:0px’;
$list = ‘<li id=”ill_li” class=”item_list_layout_li” style=”text-align: center; overflow: hidden; display: block; float: left; padding:’.$lipadding.’px; width:’.$liwidth.’px; height:’.$liheight.’px; margin-right:’.$limargin.’px; margin-bottom:’.$limargin.’px; ‘.$border.’ “>ID) . ‘ “>’. usces_the_itemImage(0, $imgwidth, $imgheight, $post, ‘return’ ) . ‘<div class=”thumtitle”>’ . esc_html(usces_the_itemName(‘return’)) . ‘</div><div class=”zaiko”>’ . esc_html(usces_the_itemZaiko(‘return’)) . ‘</div><div class=”price”>’ . __(‘$’, ‘usces’) . number_format(usces_the_firstPrice(‘return’)) . $usces->getGuidTax() . ‘</div><div class=”exp”>’ . $excerpt . ‘</div>’ ;
return $list;
}
?>
エラーコード
Parse error: syntax error, unexpected ‘”‘ in /export/sd203/www/jp/r/e/gmoserver/7/9/sd0211679/imperial-designworks.com/blog/wp-content/themes/gents-company/functions.php on line 19
2011年8月19日 9:45 AM #62604ipd参加者nanbu様
その後も色々試しましたが変な文字が表示され商品詳細ページに飛ばないなどでどうにもおてあげです…
単純にアイテムネーム、プライス、売切の場合売切を赤色で表示にしたいのですが…
何とぞお力お貸し頂けませんでしょうか?
2011年8月20日 3:16 AM #62606nanbuキーマスターglobal $usces; はmy_item_list_layout_filter_list()関数の中に入れます。つまり、$args = func_get_args(); の上となります。
それと、前回ご説明いたしました「もう一つは、$list に代入している部分でクオートの整合性が取れていないところがございます。('”>ID) . ‘”>’)」の部分が直っておりません。たぶんコピーミスだと思いますのでもう一度確認してみてください。
2011年8月20日 4:51 AM #62607ipd参加者nanbu様ありがとうございます!!
下記の様に書いたら完璧でした!、ですが売り切れになっている商品も在庫ありの表示になってしまいます…どうしてでしょうか?…これはフィルターフックの問題では有りませんよね…
文字も赤にできません…
質問ばかりで申し訳有りません。
<?php
add_filter(‘item_list_layout_filter_list’, ‘my_item_list_layout_filter_list’, 10, 3);
function my_item_list_layout_filter_list(){
global $usces;
$args = func_get_args();
$post = $args[1];
$opts = $args[2];
$width = $opts;
$colum = $opts;
$limargin = $opts;
$lipadding = $opts;
$liborder = $opts;
$liwidth = ($width + $limargin) / $colum – $limargin – ($lipadding * 2) – ($liborder * 2);
$liheight = $opts – $lipadding * 2;
$txtheight = $opts;
$imgwidth = $liwidth;
$imgheight = $liheight – $txtheight;
$border = $liborder ? ” : ‘border:0px’;
$list = ‘<li id=”ill_li” class=”item_list_layout_li” style=”text-align: center; overflow: hidden; display: block; float: left; padding:’.$lipadding.’px; width:’.$liwidth.’px; height:’.$liheight.’px; margin-right:’.$limargin.’px; margin-bottom:’.$limargin.’px; ‘.$border.'”>ID) . ‘”>’ . usces_the_itemImage(0, $imgwidth, $imgheight, $post, ‘return’ ) . ‘<div class=”thumtitle”>’ . esc_html(usces_the_itemName(‘return’)) . ‘</div><div class=”price”>’ . __(‘$’, ‘usces’) . number_format(usces_the_firstPrice(‘return’)) . $usces->getGuidTax() . ‘</div><div class=”exp”>’ . $excerpt . ‘</div><div class=”zaiko”>’ . esc_html(usces_the_itemZaiko(‘return’)) . ” . “”;
return $list;
}
?>
2011年8月20日 5:14 AM #62608ipd参加者色はitem_list_layout.cssで変更できました!
2011年8月20日 6:30 AM #62609ipd参加者nanbu様
売り切れになっている商品も在庫ありの表示になってしまいます…これだけ何とかご教授下さいませ。
お忙しいとは思いますが宜しくお願い致します。
2011年8月21日 4:29 PM #62610ipd参加者ご教授いただけませんでしょうか?…
2011年8月22日 2:36 AM #62611nanbuキーマスター何度かご説明いたしておりますが、$list に代入している部分で '”>ID) . ‘”>’ の部分が直っておりません。
まずは、コードが正常にならなければ次へ進む事はできません。
恐らくこうされたいのではないですか?現在のコードと見比べてみてください。
$list = '<li id="ill_li" class="item_list_layout_li" style="text-align: center; overflow: hidden; display: block; float: left; padding:'.$lipadding.'px; width:'.$liwidth.'px; height:'.$liheight.'px; margin-right:'.$limargin.'px; margin-bottom:'.$limargin.'px; '.$border.'">'. usces_the_itemImage(0, $imgwidth, $imgheight, $post, 'return' ) . '<div class="thumtitle">' . esc_html(usces_the_itemName('return')) . '</div><div class="price">' . __('$', 'usces') . number_format(usces_the_firstPrice('return')) . $usces->getGuidTax() . '</div><div class="exp">' . $excerpt . '</div><div class="zaiko">' . esc_html(usces_the_itemZaiko('return'));
これでよければ、次の問題の在庫の表示となります。
そもそも、商品一覧は商品単位の表示となります。しかし在庫はSKU単位となっており、1商品の中にSKUが複数あった場合は、どのSKUの在庫を表示して良いのかWelcart は判断できません。
とりあえず、最初のSKUの情報を取得するのであれば、
$border = $liborder ? '' : 'border:0px';
の下に、usces_have_skus();
と追加してください。SKUが1つだけの場合は問題ありません。複数ある場合は最初のSKUが適用されます。
文字色についてはスタイルシートの問題です。class=”price” と有りますので適宜CSSを調整してください。
2011年8月22日 5:39 AM #62612ipd参加者nanbu様
お忙しい中大変ありがとうございます。
現在表示は思い通りに出来ていまして、教えて頂いた方法で、現在SKUの問題も解消されました、誠にありがとうございます。
売り切れの商品のみ売り切れと表示にはどうしたら良いのでしょうか?
因に今ご教授下さったコードとみくらべ
<a href="' . get_permalink($post->ID) . '">' .
が不要と言う事でしょうか?しかしながら
<a href="' . get_permalink($post->ID) . '">' .
をなくしました所商品一覧ページのサムネイルや商品名をクリックしても商品詳細ページへ飛ばなくなってしまいました…私のコードでは何かまずいものでしょうか?…
2011年8月23日 12:07 AM #62613ipd参加者お願いできませんでしょうか?…
2011年8月23日 1:05 AM #62614nanbuキーマスターこちらで提示させていただいたコードは、ipd さんが以前にここに投稿されたコードをもとにしています。アンカーが入っていないのはご自分で削除されたのではないかと思います。こちらでは削除していません。
こちらでは、コードが間違っているかどうかを確認してお知らせできますが、ipd さんがやりたいと思う固有の表示に付きましては、ご自分でやっていただくしかありません。どうしてもご自分で無理な場合はWelcart レスキューを利用していただく事になります。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。