商品イメージデータにnameのパラメータを追加したいのですが?

フォーラム 使い方全般 商品イメージデータにnameのパラメータを追加したいのですが?

  • このトピックには4件の返信、2人の参加者があり、最後にmorixkoroにより13年、 3ヶ月前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #50631
    morixkoro
    参加者

    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&#8221; 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 のパーマリンク設定:


    #62719
    nanbu
    キーマスター

    こんにちは。

    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;
    }

    フィルターの利用の仕方はこちらを参考にしてみてください。

    https://www.welcart.com/community/archives/1697

    #62720
    morixkoro
    参加者

    いつも、早々にご案内いただきましてありがとうございます。

    厚く感謝申し上げます。

    詳細なるコードの記載方法まで、ご案内いただきましてありがとうございます。早々にコードを書き加えることで、お陰さまで画像データにnameのパラメーターを付加することができました。

    動作の確認だけは無理やりできましたが、お恥ずかしい話ですが、以下の問題が生じたことにより無理やりの動作確認となりました。

    問題はサブの縮小画像のコードもメインの画像と同じusces_filter_img_titleを使用している為に、サブ画像にもnameパラメーターが入っていることに気がつきました。このため画像の切り替えがうまく行きません

    つきましては、今度はサブの縮小画像のコードにnameのパラメーターを削除したいのですが、解決方法につきましてご教授いただければありがたく存じます。

    度々のお願いで恐縮です・・・

    何卒よろしくお願い申し上げます

    #62721
    nanbu
    キーマスター

    残念ながら、現在のフックにはメイン画像とサブ画像を判断するための引数がございませんので、処理を変えることができません。

    引数を追加するようご要望リストに追加させていただきますが、対応予定は未定となってしまいます。申し訳ございませんが、お急ぎの場合は「Welcartレスキュー」にお問い合わせいただけますでしょうか。よろしくお願いいたします。

    #62722
    morixkoro
    参加者

    ありがとうございます。

    今回はとりあえず無理やり画像イメージのパスである、usces_the_itemImageでなくusces_the_itemImageURLのコードを利用することで画像切り替えが可能となり解決いたしました。

    厚く感謝申し上げます。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。