商品イメージデータにnameのパラメータを追加したいのですが?
-
投稿者投稿
-
2011年8月30日 2:37 PM #50631morixkoro参加者
welcartを利用させていただいております、厚く感謝申し上げます。
さて、
商品詳細ページに表示されているメイン画像を、マウスでクリックしてサブイメージと画像の切り替え変更が可能なように、imgのパラメータにnameタグを新たに追加したいのですが、スキルが無いためタグの追加方法がよくわかりません。
たぶんimgデータは下の
pluginsusc-e-shopfunctionstemplate_func.php
にて、商品のimgデータが書き出されているかと思いますが、imgデータに”name”のタグの追加方法についてお教えいただければありがたく存じます。
商品詳細ページに書き出されている現在の状態
<a href=”http://www.hoge.jp/shop/wp-content/uploads/photo.jpg”><img src=”http://www.hoge.jp/shop/wp-content/uploads/photo.jpg” alt=”hoge” title=”hogehogephoto” /></a>
修正後に以下のようにnameを追加したのですが(この場合nameに代入する値は適当な固定の名称exampleのままで構わないですが・・)
<div class=”itemimg”>
<a href=”http://www.hoge.jp/shop/wp-content/uploads/photo.jpg”><img src=”http://www.hoge.jp/shop/wp-content/uploads/photo.jpg” alt=”hoge” title=”hogehogephoto” name=”example”/></a> </div>
修正部分は、たぶん
pluginsusc-e-shopfunctionstemplate_func.phpに記載されている以下の部分を修正するかと思いますがスキルがなく記述の仕方がよくわかりません、よろしくお願いいたします。
function usces_the_itemImage($number = 0, $width = 60, $height = 60, $post = ”, $out = ”, $media = ‘item’ ) {
global $usces;
if($post == ”) global $post;
$post_id = $post->ID;
$code = get_post_custom_values(‘_itemCode’, $post_id);
if(!$code) return false;
$name = get_post_custom_values(‘_itemName’, $post_id);
if( 0 == $number ){
$pictid = $usces->get_mainpictid($code[0]);
$html = wp_get_attachment_image( $pictid, array($width, $height), false );//’‘;
if( ‘item’ == $media ){
$alt = ‘alt=”‘.esc_attr($code[0]).'”‘;
$alt = apply_filters(‘usces_filter_img_alt’, $alt, $post_id, $pictid);
$html = preg_replace(‘/alt=”[^”]*”/’, $alt, $html);
$title = ‘title=”‘.esc_attr($name[0]).'”‘;
$title = apply_filters(‘usces_filter_img_title’, $title, $post_id, $pictid);
$html = preg_replace(‘/title=”[^”]+”/’, $title, $html);
}
}else{
$pictids = $usces->get_pictids($code[0]);
$html = wp_get_attachment_image( $pictids[$number], array($width, $height), false );//’‘;
if( ‘item’ == $media ){
$alt = ‘alt=”‘.esc_attr($code[0]).'”‘;
$alt = apply_filters(‘usces_filter_img_alt’, $alt, $post_id, $pictids[$number]);
$html = preg_replace(‘/alt=”[^”]*”/’, $alt, $html);
$title = ‘title=”‘.esc_attr($name[0]).'”‘;
$title = apply_filters(‘usces_filter_img_title’, $title, $post_id, $pictids[$number]);
$html = preg_replace(‘/title=”[^”]+”/’, $title, $html);
}
}
if($out == ‘return’){
return $html;
}else{
echo $html;
Welcart のバージョン:1.06β
症状を確認したブラウザ:
サーバー(会社名、サービス名):xserver
SSLの利用: 無し | 専用SSL | 共用SSL
WordPress のパーマリンク設定:
2011年8月31日 2:12 AM #62719nanbuキーマスターこんにちは。
usces_filter_img_title というフックがございますので、それを利用してフィルターをあてて属性を追加する事ができます。フィルターはこのような感じになります。
add_filter('usces_filter_img_title', 'my_filter_img_title', 10, 3);
function my_filter_img_title( $title, $post_id, $pictid ){
$title .= ' name="xxxx"';
return $title;
}フィルターの利用の仕方はこちらを参考にしてみてください。
2011年8月31日 3:11 PM #62720morixkoro参加者いつも、早々にご案内いただきましてありがとうございます。
厚く感謝申し上げます。
詳細なるコードの記載方法まで、ご案内いただきましてありがとうございます。早々にコードを書き加えることで、お陰さまで画像データにnameのパラメーターを付加することができました。
動作の確認だけは無理やりできましたが、お恥ずかしい話ですが、以下の問題が生じたことにより無理やりの動作確認となりました。
問題はサブの縮小画像のコードもメインの画像と同じusces_filter_img_titleを使用している為に、サブ画像にもnameパラメーターが入っていることに気がつきました。このため画像の切り替えがうまく行きません
つきましては、今度はサブの縮小画像のコードにnameのパラメーターを削除したいのですが、解決方法につきましてご教授いただければありがたく存じます。
度々のお願いで恐縮です・・・
何卒よろしくお願い申し上げます
2011年9月1日 3:55 AM #62721nanbuキーマスター残念ながら、現在のフックにはメイン画像とサブ画像を判断するための引数がございませんので、処理を変えることができません。
引数を追加するようご要望リストに追加させていただきますが、対応予定は未定となってしまいます。申し訳ございませんが、お急ぎの場合は「Welcartレスキュー」にお問い合わせいただけますでしょうか。よろしくお願いいたします。
2011年9月1日 8:16 AM #62722morixkoro参加者ありがとうございます。
今回はとりあえず無理やり画像イメージのパスである、usces_the_itemImageでなくusces_the_itemImageURLのコードを利用することで画像切り替えが可能となり解決いたしました。
厚く感謝申し上げます。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。