cmd Опубликовано: 21 января 2013 Поделиться Опубликовано: 21 января 2013 JS функцию вызывать в callback добавления товара в корзину на странице товара: function animateImageToCart() { imagePosition = $('#image').position(); // получаем позицию изображения cartPosition = $('#cart').position(); // получаем позицию корзины cartPosition.left = cartPosition.left + ( $('#cart').width() / 2 ); // если корзина справа, то плюсуем, чтобы получить центр, иначе минусуем cartPosition.top = cartPosition.top + ( $('#cart').height() / 2 ); // формальность $('body').prepend('<div id="imageToCart"><img src="'+ $('#image').attr('src') +'"></div>'); // вставляем картинку в самом низу страницы // моментально накладываем нашу новую картинку поверх существующей $('#imageToCart img').css({ 'position': 'absolute', 'z-index': '1999', 'left': imagePosition.left + 'px', 'top': imagePosition.top + 'px', 'width': $('#image').width() + 'px', 'height': $('#image').height() + 'px' }); // поехала анимация в направлении корзины $('#imageToCart img').animate({ top: '0px', left: cartPosition.left + 'px', opacity: '0', width: $('#image').width() / 3, height: $('#image').height() / 3 }, 1000, function() { $('#imageToCart').remove(); }); } 5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... noVe Опубликовано: 22 января 2013 Поделиться Опубликовано: 22 января 2013 Спасибо. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Metrik Опубликовано: 23 января 2013 Поделиться Опубликовано: 23 января 2013 а в каком файле прописуется данный код? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... zteprk Опубликовано: 24 января 2013 Поделиться Опубликовано: 24 января 2013 а в каком файле прописуется данный код? Хотелось бы тоже чуточку подробней. в каком файле и после чего вставить данный код. спасибо! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 24 января 2013 Автор Поделиться Опубликовано: 24 января 2013 Ну, например, в product.tpl есть функция добавления товара в корзину. В callback вставить вызов animateImageToCart(). Только же не забудьте объявить animateImageToCart. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 cmd Вот если бы Вы ответили так, как ответили Вам в этой теме в посте №8 http://javascript.ru/forum/showthread.php?p=175122#post175117 то и Вам бы отвечали на это примерно так, как по выше выложенной ссылке пост №9, а не так. как в этой теме. Спасибо! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 26 января 2013 Автор Поделиться Опубликовано: 26 января 2013 kegel, если бы вопрос был от человека с кармой 100, то я бы тоже не пожалел 10 минут на подробные комментарии. А вообще, создание самодельных хуков и вызывать функцию это задачи немного разной сложности. В последнем случае сложность практически нулевая. Что Вам не понятно в фразе "вызвать функцию в callback"? Строку назвать? Или Google скрывает информацию о том, что такое callback в ajax запросе? Я вообще этот код по просьбе noVe выложил... Он понял - вот и отлично. Думаю не только он. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 в какой строке это понятно, а вот как вызвать функцию animateImageToCart() в callback ($('#button-cart').bind('click', function() { $.ajax({...не понятно. Если не трудно, хотелось бы узнать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 26 января 2013 Автор Поделиться Опубликовано: 26 января 2013 Вызов это animateImageToCart() . Это и есть вызов. т.е. название и две скобочки. Перед тем как что-то вызывать нужно что-то объявить. Объявление - см первый пост. Самое забавное в этом, то что я могу 100 раз повторить одно и тоже разными словами, но найдется какой-то вопрошающий, который не поймет или не прочтет. А ещё 10 останутся недовольны потому, что слишком сложно объяснил... :-D 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 Дело в том что с главной страницы анимация не работает, зашел в товар, там все ок. Вот что в заблуждение ввело. Интересно почему с главной не работает? + вродь дошло, надо в каждом модуле телодвижения повторять значит. Хотя не факт, направьте в нужное русло. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 27 января 2013 Автор Поделиться Опубликовано: 27 января 2013 Так там и не будет работать так просто... Чтобы работало с главной надо... Ну, например, перехватывать положение курсора и редактировать функцию addToCart() в common.js... Я это на коленке написать не могу. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 27 января 2013 Автор Поделиться Опубликовано: 27 января 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 27 января 2013 Поделиться Опубликовано: 27 января 2013 Просто onclick надо навешивать через JS, а не через HTML. Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 недели спустя... foruss Опубликовано: 21 февраля 2013 Поделиться Опубликовано: 21 февраля 2013 Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно не должно и не будет. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 24 февраля 2013 Поделиться Опубликовано: 24 февраля 2013 не должно и не будет. А если быть точнее? Как тогда это реализовать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... alexeyll Опубликовано: 26 февраля 2013 Поделиться Опубликовано: 26 февраля 2013 Как возможно замедлить скорость анимации картинки при ее движении в корзину? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 прикольно, спасибо :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ жаль только с этим не разобрался :( .... как все таки его навешивать?? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 6 марта 2013 Поделиться Опубликовано: 6 марта 2013 для анимации в категориях сделал путем добавления id="product_id" к картинкам, ну и в самой функции анимации вместо #image надо эти id использовать.... красотень теперь... и кстати теперь в модулях таких как акции и пр. достаточно картинкам добавить id="product_id" :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 7 марта 2013 Поделиться Опубликовано: 7 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? catalog/view/theme/тема/template/module/featured.tpl добавляем то что жирным: <div class="image"><a href="<?php echo $product['href']; ?>"><img [b]id="<?php echo $product['product_id']; ?>"[/b] src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" catalog/view/javascript/common.js скрипт addtocart меняем функцию анимации для работы с id изображения function animateImageToCart(pid) { imagePid = '#' + pid; imagePosition = $(imagePid).offset(); // получаем позицию изображения cartPosition = $('#cart').position(); // получаем позицию корзины cartPosition.left = cartPosition.left + ( $('#cart').width() / 2 ); cartPosition.top = cartPosition.top + ( $('#cart').height() / 2 ); // формальность $('body').prepend('<div id="imageToCart"><img src="'+ $(imagePid).attr('src') +'"></div>'); $('#imageToCart img').css({ 'position': 'absolute', 'display': 'inline-block', 'z-index': '1999', 'left': imagePosition.left + 'px', 'top': imagePosition.top + 'px', 'width': $(imagePid).width() + 'px', 'height': $(imagePid).height() + 'px' }); // поехала анимация в направлении корзины $('#imageToCart img').animate({ top: '0px', left: cartPosition.left + 'px', opacity: '0', width: $(imagePid).width() / 3, height: $(imagePid).height() / 3 }, 2000, function() { $('#imageToCart').remove(); }); } в конце скрипта, после блока success не забываем ставить запятую и добавляем: onSuccess: animateImageToCart(product_id) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 далее просто следует добавлять id к <img> по аналогии во все нужные модули и в категории, кстати если картинка летит мимо корзины (у меня например в зависимости от разрешения экрана летала мимо) можно заменить position() на offset(): cartPosition = $('#cart').position(); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
noVe Опубликовано: 22 января 2013 Поделиться Опубликовано: 22 января 2013 Спасибо. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Metrik Опубликовано: 23 января 2013 Поделиться Опубликовано: 23 января 2013 а в каком файле прописуется данный код? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... zteprk Опубликовано: 24 января 2013 Поделиться Опубликовано: 24 января 2013 а в каком файле прописуется данный код? Хотелось бы тоже чуточку подробней. в каком файле и после чего вставить данный код. спасибо! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 24 января 2013 Автор Поделиться Опубликовано: 24 января 2013 Ну, например, в product.tpl есть функция добавления товара в корзину. В callback вставить вызов animateImageToCart(). Только же не забудьте объявить animateImageToCart. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 cmd Вот если бы Вы ответили так, как ответили Вам в этой теме в посте №8 http://javascript.ru/forum/showthread.php?p=175122#post175117 то и Вам бы отвечали на это примерно так, как по выше выложенной ссылке пост №9, а не так. как в этой теме. Спасибо! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 26 января 2013 Автор Поделиться Опубликовано: 26 января 2013 kegel, если бы вопрос был от человека с кармой 100, то я бы тоже не пожалел 10 минут на подробные комментарии. А вообще, создание самодельных хуков и вызывать функцию это задачи немного разной сложности. В последнем случае сложность практически нулевая. Что Вам не понятно в фразе "вызвать функцию в callback"? Строку назвать? Или Google скрывает информацию о том, что такое callback в ajax запросе? Я вообще этот код по просьбе noVe выложил... Он понял - вот и отлично. Думаю не только он. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 в какой строке это понятно, а вот как вызвать функцию animateImageToCart() в callback ($('#button-cart').bind('click', function() { $.ajax({...не понятно. Если не трудно, хотелось бы узнать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 26 января 2013 Автор Поделиться Опубликовано: 26 января 2013 Вызов это animateImageToCart() . Это и есть вызов. т.е. название и две скобочки. Перед тем как что-то вызывать нужно что-то объявить. Объявление - см первый пост. Самое забавное в этом, то что я могу 100 раз повторить одно и тоже разными словами, но найдется какой-то вопрошающий, который не поймет или не прочтет. А ещё 10 останутся недовольны потому, что слишком сложно объяснил... :-D 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 Дело в том что с главной страницы анимация не работает, зашел в товар, там все ок. Вот что в заблуждение ввело. Интересно почему с главной не работает? + вродь дошло, надо в каждом модуле телодвижения повторять значит. Хотя не факт, направьте в нужное русло. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 27 января 2013 Автор Поделиться Опубликовано: 27 января 2013 Так там и не будет работать так просто... Чтобы работало с главной надо... Ну, например, перехватывать положение курсора и редактировать функцию addToCart() в common.js... Я это на коленке написать не могу. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 27 января 2013 Автор Поделиться Опубликовано: 27 января 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 27 января 2013 Поделиться Опубликовано: 27 января 2013 Просто onclick надо навешивать через JS, а не через HTML. Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 недели спустя... foruss Опубликовано: 21 февраля 2013 Поделиться Опубликовано: 21 февраля 2013 Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно не должно и не будет. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 24 февраля 2013 Поделиться Опубликовано: 24 февраля 2013 не должно и не будет. А если быть точнее? Как тогда это реализовать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... alexeyll Опубликовано: 26 февраля 2013 Поделиться Опубликовано: 26 февраля 2013 Как возможно замедлить скорость анимации картинки при ее движении в корзину? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 прикольно, спасибо :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ жаль только с этим не разобрался :( .... как все таки его навешивать?? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 6 марта 2013 Поделиться Опубликовано: 6 марта 2013 для анимации в категориях сделал путем добавления id="product_id" к картинкам, ну и в самой функции анимации вместо #image надо эти id использовать.... красотень теперь... и кстати теперь в модулях таких как акции и пр. достаточно картинкам добавить id="product_id" :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 7 марта 2013 Поделиться Опубликовано: 7 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? catalog/view/theme/тема/template/module/featured.tpl добавляем то что жирным: <div class="image"><a href="<?php echo $product['href']; ?>"><img [b]id="<?php echo $product['product_id']; ?>"[/b] src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" catalog/view/javascript/common.js скрипт addtocart меняем функцию анимации для работы с id изображения function animateImageToCart(pid) { imagePid = '#' + pid; imagePosition = $(imagePid).offset(); // получаем позицию изображения cartPosition = $('#cart').position(); // получаем позицию корзины cartPosition.left = cartPosition.left + ( $('#cart').width() / 2 ); cartPosition.top = cartPosition.top + ( $('#cart').height() / 2 ); // формальность $('body').prepend('<div id="imageToCart"><img src="'+ $(imagePid).attr('src') +'"></div>'); $('#imageToCart img').css({ 'position': 'absolute', 'display': 'inline-block', 'z-index': '1999', 'left': imagePosition.left + 'px', 'top': imagePosition.top + 'px', 'width': $(imagePid).width() + 'px', 'height': $(imagePid).height() + 'px' }); // поехала анимация в направлении корзины $('#imageToCart img').animate({ top: '0px', left: cartPosition.left + 'px', opacity: '0', width: $(imagePid).width() / 3, height: $(imagePid).height() / 3 }, 2000, function() { $('#imageToCart').remove(); }); } в конце скрипта, после блока success не забываем ставить запятую и добавляем: onSuccess: animateImageToCart(product_id) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 далее просто следует добавлять id к <img> по аналогии во все нужные модули и в категории, кстати если картинка летит мимо корзины (у меня например в зависимости от разрешения экрана летала мимо) можно заменить position() на offset(): cartPosition = $('#cart').position(); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Metrik Опубликовано: 23 января 2013 Поделиться Опубликовано: 23 января 2013 а в каком файле прописуется данный код? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
zteprk Опубликовано: 24 января 2013 Поделиться Опубликовано: 24 января 2013 а в каком файле прописуется данный код? Хотелось бы тоже чуточку подробней. в каком файле и после чего вставить данный код. спасибо! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
cmd Опубликовано: 24 января 2013 Автор Поделиться Опубликовано: 24 января 2013 Ну, например, в product.tpl есть функция добавления товара в корзину. В callback вставить вызов animateImageToCart(). Только же не забудьте объявить animateImageToCart. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 cmd Вот если бы Вы ответили так, как ответили Вам в этой теме в посте №8 http://javascript.ru/forum/showthread.php?p=175122#post175117 то и Вам бы отвечали на это примерно так, как по выше выложенной ссылке пост №9, а не так. как в этой теме. Спасибо! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 26 января 2013 Автор Поделиться Опубликовано: 26 января 2013 kegel, если бы вопрос был от человека с кармой 100, то я бы тоже не пожалел 10 минут на подробные комментарии. А вообще, создание самодельных хуков и вызывать функцию это задачи немного разной сложности. В последнем случае сложность практически нулевая. Что Вам не понятно в фразе "вызвать функцию в callback"? Строку назвать? Или Google скрывает информацию о том, что такое callback в ajax запросе? Я вообще этот код по просьбе noVe выложил... Он понял - вот и отлично. Думаю не только он. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 в какой строке это понятно, а вот как вызвать функцию animateImageToCart() в callback ($('#button-cart').bind('click', function() { $.ajax({...не понятно. Если не трудно, хотелось бы узнать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 26 января 2013 Автор Поделиться Опубликовано: 26 января 2013 Вызов это animateImageToCart() . Это и есть вызов. т.е. название и две скобочки. Перед тем как что-то вызывать нужно что-то объявить. Объявление - см первый пост. Самое забавное в этом, то что я могу 100 раз повторить одно и тоже разными словами, но найдется какой-то вопрошающий, который не поймет или не прочтет. А ещё 10 останутся недовольны потому, что слишком сложно объяснил... :-D 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 Дело в том что с главной страницы анимация не работает, зашел в товар, там все ок. Вот что в заблуждение ввело. Интересно почему с главной не работает? + вродь дошло, надо в каждом модуле телодвижения повторять значит. Хотя не факт, направьте в нужное русло. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 27 января 2013 Автор Поделиться Опубликовано: 27 января 2013 Так там и не будет работать так просто... Чтобы работало с главной надо... Ну, например, перехватывать положение курсора и редактировать функцию addToCart() в common.js... Я это на коленке написать не могу. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 27 января 2013 Автор Поделиться Опубликовано: 27 января 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 27 января 2013 Поделиться Опубликовано: 27 января 2013 Просто onclick надо навешивать через JS, а не через HTML. Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 недели спустя... foruss Опубликовано: 21 февраля 2013 Поделиться Опубликовано: 21 февраля 2013 Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно не должно и не будет. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 24 февраля 2013 Поделиться Опубликовано: 24 февраля 2013 не должно и не будет. А если быть точнее? Как тогда это реализовать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... alexeyll Опубликовано: 26 февраля 2013 Поделиться Опубликовано: 26 февраля 2013 Как возможно замедлить скорость анимации картинки при ее движении в корзину? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 прикольно, спасибо :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ жаль только с этим не разобрался :( .... как все таки его навешивать?? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 6 марта 2013 Поделиться Опубликовано: 6 марта 2013 для анимации в категориях сделал путем добавления id="product_id" к картинкам, ну и в самой функции анимации вместо #image надо эти id использовать.... красотень теперь... и кстати теперь в модулях таких как акции и пр. достаточно картинкам добавить id="product_id" :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 7 марта 2013 Поделиться Опубликовано: 7 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? catalog/view/theme/тема/template/module/featured.tpl добавляем то что жирным: <div class="image"><a href="<?php echo $product['href']; ?>"><img [b]id="<?php echo $product['product_id']; ?>"[/b] src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" catalog/view/javascript/common.js скрипт addtocart меняем функцию анимации для работы с id изображения function animateImageToCart(pid) { imagePid = '#' + pid; imagePosition = $(imagePid).offset(); // получаем позицию изображения cartPosition = $('#cart').position(); // получаем позицию корзины cartPosition.left = cartPosition.left + ( $('#cart').width() / 2 ); cartPosition.top = cartPosition.top + ( $('#cart').height() / 2 ); // формальность $('body').prepend('<div id="imageToCart"><img src="'+ $(imagePid).attr('src') +'"></div>'); $('#imageToCart img').css({ 'position': 'absolute', 'display': 'inline-block', 'z-index': '1999', 'left': imagePosition.left + 'px', 'top': imagePosition.top + 'px', 'width': $(imagePid).width() + 'px', 'height': $(imagePid).height() + 'px' }); // поехала анимация в направлении корзины $('#imageToCart img').animate({ top: '0px', left: cartPosition.left + 'px', opacity: '0', width: $(imagePid).width() / 3, height: $(imagePid).height() / 3 }, 2000, function() { $('#imageToCart').remove(); }); } в конце скрипта, после блока success не забываем ставить запятую и добавляем: onSuccess: animateImageToCart(product_id) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 далее просто следует добавлять id к <img> по аналогии во все нужные модули и в категории, кстати если картинка летит мимо корзины (у меня например в зависимости от разрешения экрана летала мимо) можно заменить position() на offset(): cartPosition = $('#cart').position(); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 cmd Вот если бы Вы ответили так, как ответили Вам в этой теме в посте №8 http://javascript.ru/forum/showthread.php?p=175122#post175117 то и Вам бы отвечали на это примерно так, как по выше выложенной ссылке пост №9, а не так. как в этой теме. Спасибо! Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
cmd Опубликовано: 26 января 2013 Автор Поделиться Опубликовано: 26 января 2013 kegel, если бы вопрос был от человека с кармой 100, то я бы тоже не пожалел 10 минут на подробные комментарии. А вообще, создание самодельных хуков и вызывать функцию это задачи немного разной сложности. В последнем случае сложность практически нулевая. Что Вам не понятно в фразе "вызвать функцию в callback"? Строку назвать? Или Google скрывает информацию о том, что такое callback в ajax запросе? Я вообще этот код по просьбе noVe выложил... Он понял - вот и отлично. Думаю не только он. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 в какой строке это понятно, а вот как вызвать функцию animateImageToCart() в callback ($('#button-cart').bind('click', function() { $.ajax({...не понятно. Если не трудно, хотелось бы узнать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 26 января 2013 Автор Поделиться Опубликовано: 26 января 2013 Вызов это animateImageToCart() . Это и есть вызов. т.е. название и две скобочки. Перед тем как что-то вызывать нужно что-то объявить. Объявление - см первый пост. Самое забавное в этом, то что я могу 100 раз повторить одно и тоже разными словами, но найдется какой-то вопрошающий, который не поймет или не прочтет. А ещё 10 останутся недовольны потому, что слишком сложно объяснил... :-D 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 Дело в том что с главной страницы анимация не работает, зашел в товар, там все ок. Вот что в заблуждение ввело. Интересно почему с главной не работает? + вродь дошло, надо в каждом модуле телодвижения повторять значит. Хотя не факт, направьте в нужное русло. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 27 января 2013 Автор Поделиться Опубликовано: 27 января 2013 Так там и не будет работать так просто... Чтобы работало с главной надо... Ну, например, перехватывать положение курсора и редактировать функцию addToCart() в common.js... Я это на коленке написать не могу. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 27 января 2013 Автор Поделиться Опубликовано: 27 января 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 27 января 2013 Поделиться Опубликовано: 27 января 2013 Просто onclick надо навешивать через JS, а не через HTML. Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 недели спустя... foruss Опубликовано: 21 февраля 2013 Поделиться Опубликовано: 21 февраля 2013 Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно не должно и не будет. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 24 февраля 2013 Поделиться Опубликовано: 24 февраля 2013 не должно и не будет. А если быть точнее? Как тогда это реализовать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... alexeyll Опубликовано: 26 февраля 2013 Поделиться Опубликовано: 26 февраля 2013 Как возможно замедлить скорость анимации картинки при ее движении в корзину? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 прикольно, спасибо :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ жаль только с этим не разобрался :( .... как все таки его навешивать?? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 6 марта 2013 Поделиться Опубликовано: 6 марта 2013 для анимации в категориях сделал путем добавления id="product_id" к картинкам, ну и в самой функции анимации вместо #image надо эти id использовать.... красотень теперь... и кстати теперь в модулях таких как акции и пр. достаточно картинкам добавить id="product_id" :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 7 марта 2013 Поделиться Опубликовано: 7 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? catalog/view/theme/тема/template/module/featured.tpl добавляем то что жирным: <div class="image"><a href="<?php echo $product['href']; ?>"><img [b]id="<?php echo $product['product_id']; ?>"[/b] src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" catalog/view/javascript/common.js скрипт addtocart меняем функцию анимации для работы с id изображения function animateImageToCart(pid) { imagePid = '#' + pid; imagePosition = $(imagePid).offset(); // получаем позицию изображения cartPosition = $('#cart').position(); // получаем позицию корзины cartPosition.left = cartPosition.left + ( $('#cart').width() / 2 ); cartPosition.top = cartPosition.top + ( $('#cart').height() / 2 ); // формальность $('body').prepend('<div id="imageToCart"><img src="'+ $(imagePid).attr('src') +'"></div>'); $('#imageToCart img').css({ 'position': 'absolute', 'display': 'inline-block', 'z-index': '1999', 'left': imagePosition.left + 'px', 'top': imagePosition.top + 'px', 'width': $(imagePid).width() + 'px', 'height': $(imagePid).height() + 'px' }); // поехала анимация в направлении корзины $('#imageToCart img').animate({ top: '0px', left: cartPosition.left + 'px', opacity: '0', width: $(imagePid).width() / 3, height: $(imagePid).height() / 3 }, 2000, function() { $('#imageToCart').remove(); }); } в конце скрипта, после блока success не забываем ставить запятую и добавляем: onSuccess: animateImageToCart(product_id) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 далее просто следует добавлять id к <img> по аналогии во все нужные модули и в категории, кстати если картинка летит мимо корзины (у меня например в зависимости от разрешения экрана летала мимо) можно заменить position() на offset(): cartPosition = $('#cart').position(); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 в какой строке это понятно, а вот как вызвать функцию animateImageToCart() в callback ($('#button-cart').bind('click', function() { $.ajax({...не понятно. Если не трудно, хотелось бы узнать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
cmd Опубликовано: 26 января 2013 Автор Поделиться Опубликовано: 26 января 2013 Вызов это animateImageToCart() . Это и есть вызов. т.е. название и две скобочки. Перед тем как что-то вызывать нужно что-то объявить. Объявление - см первый пост. Самое забавное в этом, то что я могу 100 раз повторить одно и тоже разными словами, но найдется какой-то вопрошающий, который не поймет или не прочтет. А ещё 10 останутся недовольны потому, что слишком сложно объяснил... :-D 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 Дело в том что с главной страницы анимация не работает, зашел в товар, там все ок. Вот что в заблуждение ввело. Интересно почему с главной не работает? + вродь дошло, надо в каждом модуле телодвижения повторять значит. Хотя не факт, направьте в нужное русло. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 27 января 2013 Автор Поделиться Опубликовано: 27 января 2013 Так там и не будет работать так просто... Чтобы работало с главной надо... Ну, например, перехватывать положение курсора и редактировать функцию addToCart() в common.js... Я это на коленке написать не могу. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 27 января 2013 Автор Поделиться Опубликовано: 27 января 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 27 января 2013 Поделиться Опубликовано: 27 января 2013 Просто onclick надо навешивать через JS, а не через HTML. Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 недели спустя... foruss Опубликовано: 21 февраля 2013 Поделиться Опубликовано: 21 февраля 2013 Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно не должно и не будет. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 24 февраля 2013 Поделиться Опубликовано: 24 февраля 2013 не должно и не будет. А если быть точнее? Как тогда это реализовать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... alexeyll Опубликовано: 26 февраля 2013 Поделиться Опубликовано: 26 февраля 2013 Как возможно замедлить скорость анимации картинки при ее движении в корзину? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 прикольно, спасибо :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ жаль только с этим не разобрался :( .... как все таки его навешивать?? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 6 марта 2013 Поделиться Опубликовано: 6 марта 2013 для анимации в категориях сделал путем добавления id="product_id" к картинкам, ну и в самой функции анимации вместо #image надо эти id использовать.... красотень теперь... и кстати теперь в модулях таких как акции и пр. достаточно картинкам добавить id="product_id" :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 7 марта 2013 Поделиться Опубликовано: 7 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? catalog/view/theme/тема/template/module/featured.tpl добавляем то что жирным: <div class="image"><a href="<?php echo $product['href']; ?>"><img [b]id="<?php echo $product['product_id']; ?>"[/b] src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" catalog/view/javascript/common.js скрипт addtocart меняем функцию анимации для работы с id изображения function animateImageToCart(pid) { imagePid = '#' + pid; imagePosition = $(imagePid).offset(); // получаем позицию изображения cartPosition = $('#cart').position(); // получаем позицию корзины cartPosition.left = cartPosition.left + ( $('#cart').width() / 2 ); cartPosition.top = cartPosition.top + ( $('#cart').height() / 2 ); // формальность $('body').prepend('<div id="imageToCart"><img src="'+ $(imagePid).attr('src') +'"></div>'); $('#imageToCart img').css({ 'position': 'absolute', 'display': 'inline-block', 'z-index': '1999', 'left': imagePosition.left + 'px', 'top': imagePosition.top + 'px', 'width': $(imagePid).width() + 'px', 'height': $(imagePid).height() + 'px' }); // поехала анимация в направлении корзины $('#imageToCart img').animate({ top: '0px', left: cartPosition.left + 'px', opacity: '0', width: $(imagePid).width() / 3, height: $(imagePid).height() / 3 }, 2000, function() { $('#imageToCart').remove(); }); } в конце скрипта, после блока success не забываем ставить запятую и добавляем: onSuccess: animateImageToCart(product_id) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 далее просто следует добавлять id к <img> по аналогии во все нужные модули и в категории, кстати если картинка летит мимо корзины (у меня например в зависимости от разрешения экрана летала мимо) можно заменить position() на offset(): cartPosition = $('#cart').position(); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
kegel Опубликовано: 26 января 2013 Поделиться Опубликовано: 26 января 2013 Дело в том что с главной страницы анимация не работает, зашел в товар, там все ок. Вот что в заблуждение ввело. Интересно почему с главной не работает? + вродь дошло, надо в каждом модуле телодвижения повторять значит. Хотя не факт, направьте в нужное русло. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
cmd Опубликовано: 27 января 2013 Автор Поделиться Опубликовано: 27 января 2013 Так там и не будет работать так просто... Чтобы работало с главной надо... Ну, например, перехватывать положение курсора и редактировать функцию addToCart() в common.js... Я это на коленке написать не могу. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 27 января 2013 Автор Поделиться Опубликовано: 27 января 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 27 января 2013 Поделиться Опубликовано: 27 января 2013 Просто onclick надо навешивать через JS, а не через HTML. Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 недели спустя... foruss Опубликовано: 21 февраля 2013 Поделиться Опубликовано: 21 февраля 2013 Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно не должно и не будет. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 24 февраля 2013 Поделиться Опубликовано: 24 февраля 2013 не должно и не будет. А если быть точнее? Как тогда это реализовать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... alexeyll Опубликовано: 26 февраля 2013 Поделиться Опубликовано: 26 февраля 2013 Как возможно замедлить скорость анимации картинки при ее движении в корзину? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 прикольно, спасибо :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ жаль только с этим не разобрался :( .... как все таки его навешивать?? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 6 марта 2013 Поделиться Опубликовано: 6 марта 2013 для анимации в категориях сделал путем добавления id="product_id" к картинкам, ну и в самой функции анимации вместо #image надо эти id использовать.... красотень теперь... и кстати теперь в модулях таких как акции и пр. достаточно картинкам добавить id="product_id" :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 7 марта 2013 Поделиться Опубликовано: 7 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? catalog/view/theme/тема/template/module/featured.tpl добавляем то что жирным: <div class="image"><a href="<?php echo $product['href']; ?>"><img [b]id="<?php echo $product['product_id']; ?>"[/b] src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" catalog/view/javascript/common.js скрипт addtocart меняем функцию анимации для работы с id изображения function animateImageToCart(pid) { imagePid = '#' + pid; imagePosition = $(imagePid).offset(); // получаем позицию изображения cartPosition = $('#cart').position(); // получаем позицию корзины cartPosition.left = cartPosition.left + ( $('#cart').width() / 2 ); cartPosition.top = cartPosition.top + ( $('#cart').height() / 2 ); // формальность $('body').prepend('<div id="imageToCart"><img src="'+ $(imagePid).attr('src') +'"></div>'); $('#imageToCart img').css({ 'position': 'absolute', 'display': 'inline-block', 'z-index': '1999', 'left': imagePosition.left + 'px', 'top': imagePosition.top + 'px', 'width': $(imagePid).width() + 'px', 'height': $(imagePid).height() + 'px' }); // поехала анимация в направлении корзины $('#imageToCart img').animate({ top: '0px', left: cartPosition.left + 'px', opacity: '0', width: $(imagePid).width() / 3, height: $(imagePid).height() / 3 }, 2000, function() { $('#imageToCart').remove(); }); } в конце скрипта, после блока success не забываем ставить запятую и добавляем: onSuccess: animateImageToCart(product_id) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 далее просто следует добавлять id к <img> по аналогии во все нужные модули и в категории, кстати если картинка летит мимо корзины (у меня например в зависимости от разрешения экрана летала мимо) можно заменить position() на offset(): cartPosition = $('#cart').position(); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
cmd Опубликовано: 27 января 2013 Автор Поделиться Опубликовано: 27 января 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 27 января 2013 Поделиться Опубликовано: 27 января 2013 Просто onclick надо навешивать через JS, а не через HTML. Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 4 недели спустя... foruss Опубликовано: 21 февраля 2013 Поделиться Опубликовано: 21 февраля 2013 Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно не должно и не будет. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 24 февраля 2013 Поделиться Опубликовано: 24 февраля 2013 не должно и не будет. А если быть точнее? Как тогда это реализовать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... alexeyll Опубликовано: 26 февраля 2013 Поделиться Опубликовано: 26 февраля 2013 Как возможно замедлить скорость анимации картинки при ее движении в корзину? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 прикольно, спасибо :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ жаль только с этим не разобрался :( .... как все таки его навешивать?? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 6 марта 2013 Поделиться Опубликовано: 6 марта 2013 для анимации в категориях сделал путем добавления id="product_id" к картинкам, ну и в самой функции анимации вместо #image надо эти id использовать.... красотень теперь... и кстати теперь в модулях таких как акции и пр. достаточно картинкам добавить id="product_id" :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 7 марта 2013 Поделиться Опубликовано: 7 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? catalog/view/theme/тема/template/module/featured.tpl добавляем то что жирным: <div class="image"><a href="<?php echo $product['href']; ?>"><img [b]id="<?php echo $product['product_id']; ?>"[/b] src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" catalog/view/javascript/common.js скрипт addtocart меняем функцию анимации для работы с id изображения function animateImageToCart(pid) { imagePid = '#' + pid; imagePosition = $(imagePid).offset(); // получаем позицию изображения cartPosition = $('#cart').position(); // получаем позицию корзины cartPosition.left = cartPosition.left + ( $('#cart').width() / 2 ); cartPosition.top = cartPosition.top + ( $('#cart').height() / 2 ); // формальность $('body').prepend('<div id="imageToCart"><img src="'+ $(imagePid).attr('src') +'"></div>'); $('#imageToCart img').css({ 'position': 'absolute', 'display': 'inline-block', 'z-index': '1999', 'left': imagePosition.left + 'px', 'top': imagePosition.top + 'px', 'width': $(imagePid).width() + 'px', 'height': $(imagePid).height() + 'px' }); // поехала анимация в направлении корзины $('#imageToCart img').animate({ top: '0px', left: cartPosition.left + 'px', opacity: '0', width: $(imagePid).width() / 3, height: $(imagePid).height() / 3 }, 2000, function() { $('#imageToCart').remove(); }); } в конце скрипта, после блока success не забываем ставить запятую и добавляем: onSuccess: animateImageToCart(product_id) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 далее просто следует добавлять id к <img> по аналогии во все нужные модули и в категории, кстати если картинка летит мимо корзины (у меня например в зависимости от разрешения экрана летала мимо) можно заменить position() на offset(): cartPosition = $('#cart').position(); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
kegel Опубликовано: 27 января 2013 Поделиться Опубликовано: 27 января 2013 Просто onclick надо навешивать через JS, а не через HTML. Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
foruss Опубликовано: 21 февраля 2013 Поделиться Опубликовано: 21 февраля 2013 Попробовал с модулем рекомендуемые, пока не получилось. Хотя ж должно не должно и не будет. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 24 февраля 2013 Поделиться Опубликовано: 24 февраля 2013 не должно и не будет. А если быть точнее? Как тогда это реализовать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... alexeyll Опубликовано: 26 февраля 2013 Поделиться Опубликовано: 26 февраля 2013 Как возможно замедлить скорость анимации картинки при ее движении в корзину? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 прикольно, спасибо :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ жаль только с этим не разобрался :( .... как все таки его навешивать?? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 6 марта 2013 Поделиться Опубликовано: 6 марта 2013 для анимации в категориях сделал путем добавления id="product_id" к картинкам, ну и в самой функции анимации вместо #image надо эти id использовать.... красотень теперь... и кстати теперь в модулях таких как акции и пр. достаточно картинкам добавить id="product_id" :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 7 марта 2013 Поделиться Опубликовано: 7 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? catalog/view/theme/тема/template/module/featured.tpl добавляем то что жирным: <div class="image"><a href="<?php echo $product['href']; ?>"><img [b]id="<?php echo $product['product_id']; ?>"[/b] src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" catalog/view/javascript/common.js скрипт addtocart меняем функцию анимации для работы с id изображения function animateImageToCart(pid) { imagePid = '#' + pid; imagePosition = $(imagePid).offset(); // получаем позицию изображения cartPosition = $('#cart').position(); // получаем позицию корзины cartPosition.left = cartPosition.left + ( $('#cart').width() / 2 ); cartPosition.top = cartPosition.top + ( $('#cart').height() / 2 ); // формальность $('body').prepend('<div id="imageToCart"><img src="'+ $(imagePid).attr('src') +'"></div>'); $('#imageToCart img').css({ 'position': 'absolute', 'display': 'inline-block', 'z-index': '1999', 'left': imagePosition.left + 'px', 'top': imagePosition.top + 'px', 'width': $(imagePid).width() + 'px', 'height': $(imagePid).height() + 'px' }); // поехала анимация в направлении корзины $('#imageToCart img').animate({ top: '0px', left: cartPosition.left + 'px', opacity: '0', width: $(imagePid).width() / 3, height: $(imagePid).height() / 3 }, 2000, function() { $('#imageToCart').remove(); }); } в конце скрипта, после блока success не забываем ставить запятую и добавляем: onSuccess: animateImageToCart(product_id) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 далее просто следует добавлять id к <img> по аналогии во все нужные модули и в категории, кстати если картинка летит мимо корзины (у меня например в зависимости от разрешения экрана летала мимо) можно заменить position() на offset(): cartPosition = $('#cart').position(); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
kegel Опубликовано: 24 февраля 2013 Поделиться Опубликовано: 24 февраля 2013 не должно и не будет. А если быть точнее? Как тогда это реализовать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
alexeyll Опубликовано: 26 февраля 2013 Поделиться Опубликовано: 26 февраля 2013 Как возможно замедлить скорость анимации картинки при ее движении в корзину? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 прикольно, спасибо :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ жаль только с этим не разобрался :( .... как все таки его навешивать?? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 6 марта 2013 Поделиться Опубликовано: 6 марта 2013 для анимации в категориях сделал путем добавления id="product_id" к картинкам, ну и в самой функции анимации вместо #image надо эти id использовать.... красотень теперь... и кстати теперь в модулях таких как акции и пр. достаточно картинкам добавить id="product_id" :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 7 марта 2013 Поделиться Опубликовано: 7 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? catalog/view/theme/тема/template/module/featured.tpl добавляем то что жирным: <div class="image"><a href="<?php echo $product['href']; ?>"><img [b]id="<?php echo $product['product_id']; ?>"[/b] src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" catalog/view/javascript/common.js скрипт addtocart меняем функцию анимации для работы с id изображения function animateImageToCart(pid) { imagePid = '#' + pid; imagePosition = $(imagePid).offset(); // получаем позицию изображения cartPosition = $('#cart').position(); // получаем позицию корзины cartPosition.left = cartPosition.left + ( $('#cart').width() / 2 ); cartPosition.top = cartPosition.top + ( $('#cart').height() / 2 ); // формальность $('body').prepend('<div id="imageToCart"><img src="'+ $(imagePid).attr('src') +'"></div>'); $('#imageToCart img').css({ 'position': 'absolute', 'display': 'inline-block', 'z-index': '1999', 'left': imagePosition.left + 'px', 'top': imagePosition.top + 'px', 'width': $(imagePid).width() + 'px', 'height': $(imagePid).height() + 'px' }); // поехала анимация в направлении корзины $('#imageToCart img').animate({ top: '0px', left: cartPosition.left + 'px', opacity: '0', width: $(imagePid).width() / 3, height: $(imagePid).height() / 3 }, 2000, function() { $('#imageToCart').remove(); }); } в конце скрипта, после блока success не забываем ставить запятую и добавляем: onSuccess: animateImageToCart(product_id) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 далее просто следует добавлять id к <img> по аналогии во все нужные модули и в категории, кстати если картинка летит мимо корзины (у меня например в зависимости от разрешения экрана летала мимо) можно заменить position() на offset(): cartPosition = $('#cart').position(); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
ikarus Опубликовано: 1 марта 2013 Поделиться Опубликовано: 1 марта 2013 Хотя не надо нифига перехватывать. Просто onclick надо навешивать через JS, а не через HTML. И не будет проблем. /*Тут передаем привет разработчикам OC */ жаль только с этим не разобрался :( .... как все таки его навешивать?? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 6 марта 2013 Поделиться Опубликовано: 6 марта 2013 для анимации в категориях сделал путем добавления id="product_id" к картинкам, ну и в самой функции анимации вместо #image надо эти id использовать.... красотень теперь... и кстати теперь в модулях таких как акции и пр. достаточно картинкам добавить id="product_id" :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 7 марта 2013 Поделиться Опубликовано: 7 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? catalog/view/theme/тема/template/module/featured.tpl добавляем то что жирным: <div class="image"><a href="<?php echo $product['href']; ?>"><img [b]id="<?php echo $product['product_id']; ?>"[/b] src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" catalog/view/javascript/common.js скрипт addtocart меняем функцию анимации для работы с id изображения function animateImageToCart(pid) { imagePid = '#' + pid; imagePosition = $(imagePid).offset(); // получаем позицию изображения cartPosition = $('#cart').position(); // получаем позицию корзины cartPosition.left = cartPosition.left + ( $('#cart').width() / 2 ); cartPosition.top = cartPosition.top + ( $('#cart').height() / 2 ); // формальность $('body').prepend('<div id="imageToCart"><img src="'+ $(imagePid).attr('src') +'"></div>'); $('#imageToCart img').css({ 'position': 'absolute', 'display': 'inline-block', 'z-index': '1999', 'left': imagePosition.left + 'px', 'top': imagePosition.top + 'px', 'width': $(imagePid).width() + 'px', 'height': $(imagePid).height() + 'px' }); // поехала анимация в направлении корзины $('#imageToCart img').animate({ top: '0px', left: cartPosition.left + 'px', opacity: '0', width: $(imagePid).width() / 3, height: $(imagePid).height() / 3 }, 2000, function() { $('#imageToCart').remove(); }); } в конце скрипта, после блока success не забываем ставить запятую и добавляем: onSuccess: animateImageToCart(product_id) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 далее просто следует добавлять id к <img> по аналогии во все нужные модули и в категории, кстати если картинка летит мимо корзины (у меня например в зависимости от разрешения экрана летала мимо) можно заменить position() на offset(): cartPosition = $('#cart').position(); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
ikarus Опубликовано: 6 марта 2013 Поделиться Опубликовано: 6 марта 2013 для анимации в категориях сделал путем добавления id="product_id" к картинкам, ну и в самой функции анимации вместо #image надо эти id использовать.... красотень теперь... и кстати теперь в модулях таких как акции и пр. достаточно картинкам добавить id="product_id" :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kegel Опубликовано: 7 марта 2013 Поделиться Опубликовано: 7 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? catalog/view/theme/тема/template/module/featured.tpl добавляем то что жирным: <div class="image"><a href="<?php echo $product['href']; ?>"><img [b]id="<?php echo $product['product_id']; ?>"[/b] src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" catalog/view/javascript/common.js скрипт addtocart меняем функцию анимации для работы с id изображения function animateImageToCart(pid) { imagePid = '#' + pid; imagePosition = $(imagePid).offset(); // получаем позицию изображения cartPosition = $('#cart').position(); // получаем позицию корзины cartPosition.left = cartPosition.left + ( $('#cart').width() / 2 ); cartPosition.top = cartPosition.top + ( $('#cart').height() / 2 ); // формальность $('body').prepend('<div id="imageToCart"><img src="'+ $(imagePid).attr('src') +'"></div>'); $('#imageToCart img').css({ 'position': 'absolute', 'display': 'inline-block', 'z-index': '1999', 'left': imagePosition.left + 'px', 'top': imagePosition.top + 'px', 'width': $(imagePid).width() + 'px', 'height': $(imagePid).height() + 'px' }); // поехала анимация в направлении корзины $('#imageToCart img').animate({ top: '0px', left: cartPosition.left + 'px', opacity: '0', width: $(imagePid).width() / 3, height: $(imagePid).height() / 3 }, 2000, function() { $('#imageToCart').remove(); }); } в конце скрипта, после блока success не забываем ставить запятую и добавляем: onSuccess: animateImageToCart(product_id) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 далее просто следует добавлять id к <img> по аналогии во все нужные модули и в категории, кстати если картинка летит мимо корзины (у меня например в зависимости от разрешения экрана летала мимо) можно заменить position() на offset(): cartPosition = $('#cart').position(); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
kegel Опубликовано: 7 марта 2013 Поделиться Опубликовано: 7 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 ikarus Не могли бы показать на примере Рекомендуем-ых на главной? catalog/view/theme/тема/template/module/featured.tpl добавляем то что жирным: <div class="image"><a href="<?php echo $product['href']; ?>"><img [b]id="<?php echo $product['product_id']; ?>"[/b] src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" catalog/view/javascript/common.js скрипт addtocart меняем функцию анимации для работы с id изображения function animateImageToCart(pid) { imagePid = '#' + pid; imagePosition = $(imagePid).offset(); // получаем позицию изображения cartPosition = $('#cart').position(); // получаем позицию корзины cartPosition.left = cartPosition.left + ( $('#cart').width() / 2 ); cartPosition.top = cartPosition.top + ( $('#cart').height() / 2 ); // формальность $('body').prepend('<div id="imageToCart"><img src="'+ $(imagePid).attr('src') +'"></div>'); $('#imageToCart img').css({ 'position': 'absolute', 'display': 'inline-block', 'z-index': '1999', 'left': imagePosition.left + 'px', 'top': imagePosition.top + 'px', 'width': $(imagePid).width() + 'px', 'height': $(imagePid).height() + 'px' }); // поехала анимация в направлении корзины $('#imageToCart img').animate({ top: '0px', left: cartPosition.left + 'px', opacity: '0', width: $(imagePid).width() / 3, height: $(imagePid).height() / 3 }, 2000, function() { $('#imageToCart').remove(); }); } в конце скрипта, после блока success не забываем ставить запятую и добавляем: onSuccess: animateImageToCart(product_id) 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 далее просто следует добавлять id к <img> по аналогии во все нужные модули и в категории, кстати если картинка летит мимо корзины (у меня например в зависимости от разрешения экрана летала мимо) можно заменить position() на offset(): cartPosition = $('#cart').position(); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
ikarus Опубликовано: 11 марта 2013 Поделиться Опубликовано: 11 марта 2013 далее просто следует добавлять id к <img> по аналогии во все нужные модули и в категории, кстати если картинка летит мимо корзины (у меня например в зависимости от разрешения экрана летала мимо) можно заменить position() на offset(): cartPosition = $('#cart').position(); Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha
cmd Опубликовано: 11 марта 2013 Автор Поделиться Опубликовано: 11 марта 2013 ikarus, может оно и правильно с точки зрения минимального вмешательства обращаться через onSuccess с указанием product_id, но с точки зрения возможности расширения функционала феншуйнее повесить $(селектор_кнопки_купить).bind('click', function() { var product_id = $(this).attr('product_id'); // сценарий добавления в корзину и всего прочего }); Это не панацея, а просто мое сугубо личное мнение. UPD: очевидное преимущество такого решения в том, что Вы будете обращаться к картинке через $(this). В Вашем решении может возникнуть ситуация, когда на одной странице будет 2 товара с одинаковым id, что приведет к ошибке JS-сценария. UPD2: Кстати, обратите внимание, что Вы указываете в качестве id число. Такое делать категорически нельзя. Надо как минимум делать id="product_id_<?php echo $product['product_id']; ?>" и селектор <img src="product_id_'+ $(imagePid).attr('src') +'"> или даже лучше лучше использовать атрибут data-id="<?php echo $product['product_id']; ?>" и слектор через атрибут <img src="'+ $('img[data-id="'+imagePid+']'"').attr('src') +'"> P.S. Может даже лучше не bind, a on на случай если где-то используется ajax-подгрузка товаров. P.P.S. Код написан на коленке - могут содержаться ошибки. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам Анимация товара по направлению к корзине
ikarus Опубликовано: 12 марта 2013 Поделиться Опубликовано: 12 марта 2013 cmd, Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ведь тогда это натуральный баг опенкарта, не? ведь тот же product_id в натуральном виде используется штатным сценарием добавления в корзину и всего прочего Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу.
cmd Опубликовано: 12 марта 2013 Автор Поделиться Опубликовано: 12 марта 2013 Я только хочу уточнить, как возможен вариант с наличием двух товаров с одинаковым id ? ikarus, Вы не поняли меня. Вы думаете про два товара с одинаковым product_id. А я Вам говорю, что на одной веб-странице может 2 раза повторяться один и тот же товар и если написать <div id="<?=$product_id?>"> то в итоге будет 2 блока div с одинаковым id. Теперь понятно? P.S. Это очень грубый пример. Числовой id делать нельзя в принципе. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 Вперёд Страница 1 из 2 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0
Рекомендованные сообщения