[Помогите] Tooltip картинок товаров в категории

Тема в разделе "OpenCart", создана пользователем non@me, 3 янв 2013.

  1. non@me

    non@me

    Регистрация:
    21 ноя 2012
    Сообщения:
    77
    Симпатии:
    109
    вопрос пытаюсь реализовать вот такую конструкцию при наведении мышки на картинку в категории товаров появлялась бы увеличенная картинка товара. реализую по такой схеме http://vremenno.net/js/moptip-and-mopbox-for-jquery/

    вопрос при использовании переменной <img src="<?php echo $product['thumb']; ?>"
    которая по сути должна подставлять картинки, картинки всплывают все работает но у всех товаров выводится одна и та же которая стоит первой в категории... что делаю не так?
    [​IMG]
    и как быть с видом "сетка" я так понял по коду полноценного когда элементов там нет а меняется он функцией которая добавляет строки в "список" как сделать отображение картинок и там тоже
    [​IMG]
     
  2. dosoft

    dosoft

    Регистрация:
    3 янв 2013
    Сообщения:
    28
    Симпатии:
    2
    Код в студию. Скорее всего лажаешь при генерации tooltip'а, примерно вот тут:

    HTML:
    <div style="display: none">
    	<!-- элемент, содержание которого выводиться в подсказке -->
    	  <div id="demo1">А вот тут может быть любой текст</div>
    </div>
     
  3. non@me

    non@me

    Регистрация:
    21 ноя 2012
    Сообщения:
    77
    Симпатии:
    109
    я уже замучился как только не делал не хочет у меня через Jquary работать

    вот весь код

    <!-- Начало Tooltip -->
    <script type="text/javascript" src="moptip/jquery.js"></script>
    <script type="text/javascript" src="moptip/mop-tip.js"></script>
    <script type="text/javascript" src="moptip/jquery-png-fix.js"></script>
    <style type="text/css">
    .demo-out{display:none;}
    </style>
    <link rel="stylesheet" type="text/css" href="moptip/mop-tip.css" />
    <script type="text/javascript">
    $(document).ready(function(){
    $(".demo-in").mopTip({
    'w': 150,
    'style': 'overOut',
    'get': '.demo-out'
    });

    });
    </script>

    <!-- Элемент для которого выводится -->
    <div class="demo-in">
    <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div>
    </div>

    <!-- Элемент который выводится -->
    <div class="demo-out">
    <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div>
    </div>

    <!-- Конец Tooltip -->
     
  4. einshtein

    einshtein

    Регистрация:
    3 дек 2012
    Сообщения:
    71
    Симпатии:
    28
    попробуйте прописать в линках полный путь к скриптам и css

    сейчас аналогично долблюсь над созданием всплывающих атрибутов на главной через tooltip
     
  5. non@me

    non@me

    Регистрация:
    21 ноя 2012
    Сообщения:
    77
    Симпатии:
    109
    для чего ? подсказки у меня всплывают но проблема в картинках я же написал
     
  6. dosoft

    dosoft

    Регистрация:
    3 янв 2013
    Сообщения:
    28
    Симпатии:
    2
    Это явно не весь код :Smile: Не вижу цикла php-шного - такой тултип должен быть для каждого товара.
     
  7. einshtein

    einshtein

    Регистрация:
    3 дек 2012
    Сообщения:
    71
    Симпатии:
    28
    хах...а у меня такая же фигня с атрибутами...всем атрибутам на присваивается одинаковый индекс...короче все атрибуты у товаров на главной - одинаковые.
    Что через tooltip, что через обычный визуальный вывод
     
  8. non@me

    non@me

    Регистрация:
    21 ноя 2012
    Сообщения:
    77
    Симпатии:
    109
    а можно код в студию как это должно быть?
    я то добавлял этот код в www\catalog\view\theme\default\template\product\category.tpl
     
  9. dosoft

    dosoft

    Регистрация:
    3 янв 2013
    Сообщения:
    28
    Симпатии:
    2
    Ага, посмотрел внимательно на код. Проблема в том, что у тебя div class="demo-out", и таких div'ов будет по количеству продуктов. Соответственно mop-tip не сможет понять, какой из них нужен... В оригинальном примере речь идет об id, которые уникальны.
     
  10. non@me

    non@me

    Регистрация:
    21 ноя 2012
    Сообщения:
    77
    Симпатии:
    109
    div id сам понимаешь что не получится потому что он только одному товару первому будет назначатся поэтому я и сделал из него класс ! как же быть все таки с кодом?!?!
     
  11. dosoft

    dosoft

    Регистрация:
    3 янв 2013
    Сообщения:
    28
    Симпатии:
    2
    Правильно.

    1. Либо генерируй id на лету и на каждый #demo-in1, #demo-in2 вешай tooltip, показывающий #demo-out1, #demo-out2...

    2. Либо tooltip, который умеет генерить конент сам, например этот:


    Тогда имеем примерно следующее:
    HTML:
    <script type="text/javascript" src="/catalog/view/javascript/jquery-tooltip/jquery.tooltip.js"></script>
    <script>
    	$(document).ready(function() {
    		$( 'img' ).tooltip({
    			bodyHandler: function() {
    				var element = $( this );
    				return "<img src='" + this.src + "'>";
    			}
    		});
    	});
    </script>
    
     
  12. non@me

    non@me

    Регистрация:
    21 ноя 2012
    Сообщения:
    77
    Симпатии:
    109
    а поподробнее можно код?
    а каким образом его подключать к объекту?
     
  13. dosoft

    dosoft

    Регистрация:
    3 янв 2013
    Сообщения:
    28
    Симпатии:
    2
    Это в общем то и есть весь код :Smile:
     
  14. non@me

    non@me

    Регистрация:
    21 ноя 2012
    Сообщения:
    77
    Симпатии:
    109
    а каким образом его подключать к объекту?
     
  15. dosoft

    dosoft

    Регистрация:
    3 янв 2013
    Сообщения:
    28
    Симпатии:
    2
    В смысле?

    Код:
    $( 'img' ).tooltip({
    	bodyHandler: function() {
    		var element = $( this );
    		return "<img src='" + this.src + "'>";
    	}
    });
    К каждому <img> - tooltip... Собственно ничего не мешает его прикрепить не к тэгу <img>, а к объемлющему <div>, но тогда адрес картинки раздобыть будет чуточку сложнее, что-то вроде

    Код:
    return "<img src='" + $(this).children("img").attr("src") + "'>";
     
  16. Lion18

    Lion18

    Регистрация:
    3 дек 2012
    Сообщения:
    256
    Симпатии:
    36
    den.sab, Я переписал бы данный код.И вывод сделал по тегу title.Он 100% сработает на каждую картинку. Ну или допиливать данный скрипт на яве, который язык я не знаю....Ну и еще вариант поискать другой тултип но по тегу.
     
  17. dosoft

    dosoft

    Регистрация:
    3 янв 2013
    Сообщения:
    28
    Симпатии:
    2
    Ессно это не итоговый код, а направление. Насколько я понимаю den.sab уже вполне успешно его начал интегрировать :Smile: