nik 0 Posted August 1, 2021 Report Share Posted August 1, 2021 Доброго времени. Создал скидки для товаров в разделе админпанели - Админка - Каталог - Скидки. Как теперь мне эти товары со скидками вывести на главной странице? Спасибо за помощь! Link to post Share on other sites
nik 0 Posted August 1, 2021 Author Report Share Posted August 1, 2021 На главной странице есть табы - новинки, рекомендуемые, скидки Но выводятся почему-то только рекомендуемые. таб "скидки" пустой. https://c2n.me/4cS3BHT https://c2n.me/4cS3CaG также если перейти на страницу vamshop.ru/specials.php - также скидки не погружаются. Отображается только категория, в которую загружен единственый товар со скидкой https://c2n.me/4cS3CPV Link to post Share on other sites
support 447 Posted August 1, 2021 Report Share Posted August 1, 2021 1 час назад, nik сказал: На главной странице есть табы - новинки, рекомендуемые, скидки Но выводятся почему-то только рекомендуемые. таб "скидки" пустой. https://c2n.me/4cS3BHT https://c2n.me/4cS3CaG также если перейти на страницу vamshop.ru/specials.php - также скидки не погружаются. Отображается только категория, в которую загружен единственый товар со скидкой https://c2n.me/4cS3CPV У товара в опции Количество, в админке, указано больше 0?! т.е. на складе больше 0 данного товара?! Link to post Share on other sites
nik 0 Posted August 3, 2021 Author Report Share Posted August 3, 2021 спасибо. Да. проблема была в количестве. Есть вопрос Как мне создать отдельный шаблон для вывода скидок? чтоб было несколько втсавок например - {$MODULE_specials_default} и каждая из этих вставок подгружала скидки определенным способом в зависимости от изменений в шаблоне. https://c2n.me/4cTERwg Задача состоит в том, чтоб вывести на главной странице скидки в 1 месте плитками, а в другом месте изменть шаблон и сделать вывод слайдером. Спасибо Link to post Share on other sites
support 447 Posted August 3, 2021 Report Share Posted August 3, 2021 4 часа назад, nik сказал: спасибо. Да. проблема была в количестве. Есть вопрос Как мне создать отдельный шаблон для вывода скидок? чтоб было несколько втсавок например - {$MODULE_specials_default} и каждая из этих вставок подгружала скидки определенным способом в зависимости от изменений в шаблоне. https://c2n.me/4cTERwg Задача состоит в том, чтоб вывести на главной странице скидки в 1 месте плитками, а в другом месте изменть шаблон и сделать вывод слайдером. Спасибо Ну так просто не сделать. Надо делать клон блока скидок на главной странице. /includes/modules/specials.php делать копию например как specials1.php прваить код в specials1.php указывая отдельный шаблон вместо specials_default.html например specials_default1.html Сам шаблон тоже взять скопировать /templates/vamshop4/module/specials_default.html в specials_default1.html и затем подключать specials1.php в /includes/center_modules.php В /templatates/vamshop4/module/main_content.html добавлять новую метку по аналогии со specials В общем, как-то так. На самом деле ничего сложного, у Вас уже есть пример блока скидок. А список файлов, где и что подключается я написал. Link to post Share on other sites
nik 0 Posted August 5, 2021 Author Report Share Posted August 5, 2021 Доброго времени, где-то упускаю ошибку, мне кажется в последнем 5 этапе с подключением аналога файла specials.php 5. В 03.08.2021 в 23:37, support сказал: и затем подключать specials1.php в /includes/center_modules.php С этим не понятно. Как правильно подключить? пробовал так include (DIR_WS_MODULES.FILENAME_SPECIALS_ONE); пробовал так include '/includes/modules/specials_one.php'; В результате не выводит новый модуль. Подскажите что делаю не так? 1. В 03.08.2021 в 23:37, support сказал: Надо делать клон блока скидок на главной странице. В 03.08.2021 в 23:37, support сказал: В /templatates/vamshop4/module/main_content.html добавлять новую метку по аналогии со specials Эти 2 сообщение подразумеваете одно и тоже? Добавил {$MODULE_specials_default_one} В /templatates/vamshop4/module/main_content.html 2. В 03.08.2021 в 23:37, support сказал: /includes/modules/specials.php делать копию например как specials1.php /includes/modules/specials.php сделал копию - specials_one.php 3. В 03.08.2021 в 23:37, support сказал: прваить код в specials1.php указывая отдельный шаблон вместо specials_default.html например specials_default1.html сделал все specials_default.html заменил на specials_default_one.html А также предпоследнюю строчку $default->assign('MODULE_specials_default_one', $module); тоже заменил 4. В 03.08.2021 в 23:37, support сказал: Сам шаблон тоже взять скопировать /templates/vamshop4/module/specials_default.html в specials_default1.html Сделал в specials_default_one.html Link to post Share on other sites
support 447 Posted August 6, 2021 Report Share Posted August 6, 2021 11 часов назад, nik сказал: пробовал так include (DIR_WS_MODULES.FILENAME_SPECIALS_ONE); Да, так, только надо константу эту FILENAME_SPECIALS_ONE задать в /includes/filenames.php Ну и правильно сделать дубликат модуля, поменять код внутри specials_one.php Link to post Share on other sites
nik 0 Posted August 6, 2021 Author Report Share Posted August 6, 2021 спасибо. все заработало В шаблоне слайдера скидок, нет нужного блока. как мне в первом слайдере сделать вывод из 1 слайда в слайдере скидок. - https://c2n.me/4cVNz5T так чтоб во втором слайдере, ниже, осталось как по умолчанию 5 слайдов в слайдере - https://c2n.me/4cVNxxb Link to post Share on other sites
nik 0 Posted August 6, 2021 Author Report Share Posted August 6, 2021 и еще 1 вопрос, как мне модулю "Популярное" сделать вывод из 1 слайда https://c2n.me/4cVOAhQ Link to post Share on other sites
support 447 Posted August 7, 2021 Report Share Posted August 7, 2021 В 06.08.2021 в 15:08, nik сказал: и еще 1 вопрос, как мне модулю "Популярное" сделать вывод из 1 слайда https://c2n.me/4cVOAhQ Ну всё это через правку вёрстки. /templates/vamshop4/module/best_sellers_default.html Возьмите пример какой-то готовый и сделайте на его основе. Link to post Share on other sites
nik 0 Posted August 9, 2021 Author Report Share Posted August 9, 2021 Я этот файл смотрел, там нет необходимого блока. И вложеный в него файл. тоже не содержит {$smarty.const.DIR_FS_CATALOG}{$tpl_path}components/product-card/product-card-simple.html как я это вижу На сколько я понял. Блок, который содержит ширину выведеную через style подгружаетя через javascrypt файл. Также через скрипты подгружается первые активные элементы, в количестве - 4 штуки. Если ширину я перебью, через css, то активные элементы, все будут выводиться видимые. Нужно править javascrypt файл, В шаблоне создавать новый клас, типа owl-carousel например - owl-carousel-one , и в файле скриптов /templates/vamshop4/javascript/vamshop4.js создавать аналоги скриптов, и в них выводить не 4, а 1 элемент - https://c2n.me/4cX17nW . Но этого не достаточно, отображение не корректное, необходимо еще какие-то javascrypt файлы, подобным образом, добавить новый класс. Но какие файлы что нужно продублировать? Link to post Share on other sites
support 447 Posted August 9, 2021 Report Share Posted August 9, 2021 2 часа назад, nik сказал: Я этот файл смотрел, там нет необходимого блока. И вложеный в него файл. тоже не содержит {$smarty.const.DIR_FS_CATALOG}{$tpl_path}components/product-card/product-card-simple.html как я это вижу На сколько я понял. Блок, который содержит ширину выведеную через style подгружаетя через javascrypt файл. Также через скрипты подгружается первые активные элементы, в количестве - 4 штуки. Если ширину я перебью, через css, то активные элементы, все будут выводиться видимые. Нужно править javascrypt файл, В шаблоне создавать новый клас, типа owl-carousel например - owl-carousel-one , и в файле скриптов /templates/vamshop4/javascript/vamshop4.js создавать аналоги скриптов, и в них выводить не 4, а 1 элемент - https://c2n.me/4cX17nW . Но этого не достаточно, отображение не корректное, необходимо еще какие-то javascrypt файлы, подобным образом, добавить новый класс. Но какие файлы что нужно продублировать? Ну это так просто не сделать, только разметкой через правку кода. Скрипт настройки слйдера в /templates/vamshop4/javascript/vamshop4.js По owl найти можно, но owl carousel не поддерживает такого вывода, когда на первом месте 1 слайд, а дальше по 5. Вам надо найти скрипт для слайдера подходящий и подключать его вместо owlcarousel. Может быть https://splidejs.com/ Там посмотрите демку Auto width/height - https://splidejs.com/auto-width/ За счёт ширины слайдов можно так сделать, что б на первом экране 1 слайд был, а затем много. Link to post Share on other sites
nik 0 Posted August 9, 2021 Author Report Share Posted August 9, 2021 Я понял, спасибо. Неверно объяснил, мне нужно чтоб именно в компоненте популярных товаров, был слайдер только по 1 слайду. И далее листал только по 1 слайду. Попробую другой компонент подключить, просто не хотел перегружать страницу сторонними скриптами Link to post Share on other sites
support 447 Posted August 9, 2021 Report Share Posted August 9, 2021 1 минуту назад, nik сказал: Я понял, спасибо. Неверно объяснил, мне нужно чтоб именно в компоненте популярных товаров, был слайдер только по 1 слайду. И далее листал только по 1 слайду. Попробую другой компонент подключить, просто не хотел перегружать страницу сторонними скриптами Ну это сделать легко Копируйте в /templates/vamshop4/javascript/vamshop4.js код: //OWL Carousel Slider $(".owl-carousel").owlCarousel({ margin: 30, nav: false, center: false, stagePadding: 30, dots: false, loop: false, navText: ['<span class="fas fa-chevron-left fa-1x"></span>','<span class="fas fa-chevron-right fa-1x"></span>'], responsive:{ 0:{ items:1, margin: 10, stagePadding: 20 }, 360:{ items:2, margin: 10, stagePadding: 20 }, 768:{ items:3, margin: 10, stagePadding: 20 }, 992:{ items:4, margin: 10, stagePadding: 20 }, 1200:{ items:4, margin: 10, stagePadding: 20 } } }) поменяв класс, т.е. сверху например поменяйте .owl-caraousel на .my-owl-carousel и в настройках сладйера везде items: 1 укажите. Вставляйте в vamshop4.js такой код: //OWL Carousel Slider $(".my-owl-carousel").owlCarousel({ margin: 30, nav: false, center: false, stagePadding: 30, dots: false, loop: false, navText: ['<span class="fas fa-chevron-left fa-1x"></span>','<span class="fas fa-chevron-right fa-1x"></span>'], responsive:{ 0:{ items:1, margin: 10, stagePadding: 20 }, 360:{ items:1, margin: 10, stagePadding: 20 }, 768:{ items:1, margin: 10, stagePadding: 20 }, 992:{ items:1, margin: 10, stagePadding: 20 }, 1200:{ items:1, margin: 10, stagePadding: 20 } } }) в html шаблоне заменить owl-carousel на my-owl-carousel и в стили /templates/vamshop4/css/vamshop4.css добавить: .my-owl-carousel .owl-dots.disabled, .my-owl-carousel .owl-nav.disabled { display: none; } .my-owl-carousel .owl-dots.disabled, .my-owl-carousel .owl-nav.disabled { display: none; } Хотя, если просто нужно выводить слайды по одному, лучше возьмите встроенный другой слайдер. Например испиользуйте bootstrap слайдер, просто сделав нужную разметку в html шаблоне. Вот пример - https://getbootstrap.com/docs/4.6/components/carousel/ и в гугле можно найти множество других примеров, не только для картинок, а для html-блоков. Это самый простой вариант. Link to post Share on other sites
Recommended Posts