Добавить товару активному изображению
Всем привет. Народ, помогите пжлста. Есть сайт: hookah-dream.ru/katalog/product/view/20/202.html
В нём есть товар, например "колбы для кальяна". подскажите как сделать так, чтобы выбранное изображение колбы дополнялось меткой? Ну т.е. картинкой? Надо чтобы на выбранном изображении стояла галочка, что в данный момент выбрано именно это изображение товара. Помогите пжлста. Саму метку с её изображением сделал, а вот как её прикрепить к изображению товара - не знаю. Думаю функция на JS нужна, которая бы активной картинке какой-нибудь класс active присваивала, но вот реализовать пока не получается. Вот код: <span id='list_product_image_thumb'> <?php if ( (count($this->images)>1) || (count($this->videos) && count($this->images)) ) {?> <!--тут идёт вывод метки товара, сейчас выводятся метки у каждой миниатюры, а надо только у выбранной---> <?php if ($product->label_id){?> <div class="product_label"> <?php if ($product->_label_image){?> <img src="<?php print $product->_label_image?>" alt="<?php print htmlspecialchars($product->_label_name)?>" /> <?php }else{?> <span class="label_name"><?php print $product->_label_name;?></span> <?php }?> </div> <?php }?> <!--------------------------------> <?php foreach($this->images as $k=>$image){?> <!--нужно обработать OnClick(). Нужно добавить класс active именно той картинке, на которую нажали, а остальным присвоить класс no_active. Изображение с классом active (метка) и будет появляться только на одной картинке, а не на всех--> <img class="jshop_img_thumb" src="<?php print $this->image_product_path?>/<?php print $image->image_thumb?>" alt="<?php print htmlspecialchars($image->_title)?>" title="<?php print htmlspecialchars($image->_title)?>" onclick="showImage(<?php print $image->image_id?>,this)" /> <?php }?> <?php }?> </span> И есть вот такая функция, срабатывает при клике по изображению: function showImage(id, obj){ jQuery('.video_full').hide(); jQuery('a.lightbox').hide(); jQuery("#main_image_full_"+id).show();//Вывод большой картинки jQuery(".product_label").show();//Вывод метки //Добавляем класс //jQuery(".jshop_img_thumb").addClass("active"); //jQuery(obj.className).addClass("active"); var my_class=jQuery(obj).attr("class"); jQuery("."+my_class).addClass("active"); //my_class.addClass("active"); } |
Если результирующий html это span и в нем img, то ради этих двух тегов столько php-тегов натуеверчено, что код читать, это приключение. ) Неужто нельзя упростить запись используя тернарный оператор?
Если я правильно понял, то не jQuery(".product_label").show(); нужен, а добавлять/удалять класс. Но речь идет о товарах, а не просто картинках, а товары это не собственность клиента, сервер то должен знать о выборе пользователя, а сообщать ему об этом классом не получится, нужна форма, а конкретно ее элемент checkbox, который и определяет выбор. И все события должны быть привязаны к нему, по вашему же описанию получается, что вы пытаетесь управлять картинкой вне контекста товара, которому она принадлежит. |
Часовой пояс GMT +3, время: 05:52. |