tarasikuss
-
Публикации
32 -
Зарегистрирован
-
Посещение
-
Days Won
2
Сообщения, опубликованные пользователем tarasikuss
-
-
Добрый день. Проблема такая: В блоге есть свои категории. Если в них зайти то видно, что неправильно отрабатывает пагинация. Количество статей на странице стоит 20, но даже если на странице всего одна статья все равно в пагинации отображается, что есть вторая страница. Ссылку прикрепляю
Скрытый текст -
- Это популярное сообщение.
- Это популярное сообщение.
Решил проблему с тем, что поле SKU не читало мои теги: вот решение
Скрытый текстзамените строку в контроллере, где вы объявляете переменную( в зависимости от того, куда вы ее выводите)
$data['sku'] = $product_info['sku']; на $data['sku'] = html_entity_decode($product_info['sku'], ENT_QUOTES, 'UTF-8');
-
Только что, RHCk сказал:
Отлично.
Теперь отправьте эту ссылочку автору модуля, который линковал @WarStyle и спросите, может ли он вам в этом помочь и сколько это может стоить.
Дождитесь ответа и примите решение. Ну и сюда заодно отпишите. Интересно же)
хорошо, сейчас так и сделаю. А пока, может подскажите все таки на счет дополнительного поля и html-Тегов? Это же тоже интересно.
-
2 минуты назад, RHCk сказал:
У вас задача вывести видео так, как вам нужно.
Опишите подробно, как вам это нужно сделать.
Дайте линки на сайт, где вы видели подобный функционал, потому как смотреть вывод видео по скриншоту сродни гаданиям на кофейной гуще.
Свежие мысли вполне можно обсуждать здесь же, потому как к одному вопросу относятся.
Я вас понял. Вот пример сайта, где это реализовано так, как мне нужно
Скрытый текст -
21 минуту назад, RHCk сказал:
Действительно.
Вам показали модуль, реализующий похожий функционал.
Осталось только написать автору сего творения и попросить исполнить вашу хотелку, или покопаться на opencart.com и найти бесплатный аналог.
Но всё оказалось не так просто, обсуждение из 4 сообщений (3 из которых ваши) ушло в сторону.
Я это обсуждение и увел в сторону. Потому что появились мысли как можно проще реализовать нужный мне функционал. Модуль, который мне скинули реализует вывод видео в общей галереи с дополнительными фото, меня такая реализация не совсем устраивает, поэтому я и решил пока попробовать сделать это через дополнительные поля. Возник вопрос, касательно именно дополнительных полей, поэтому и решил оформить его как отдельный вопрос, чтобы не заспамливать эту тему. Но, если более правильно задавать все вопросы в уже созданной теме, задам вопрос тут: подумал, что нужный мне функционал можно реализовать через дополнительно поле, т.е вывести куда нужно дополнительное поле SKU, оформить его как мне надо и задать ему ссылку видео на Youtube, задав нужный класс для того, чтобы открывалось оно, как и картинки, в галереи. Проблема в том, что это поле не читает html-теги. Как можно сделать так, чтобы поле SKU все таки читало Html-теги?
-
Для дальнейшего решения вопроса решил создать отдельную тему, так как здесь уже отошли от первоначального вопроса)
-
21 час назад, WarStyle сказал:
Не знаю как для категории, но для товара вот: ТЫЦ
Видел этот плагин уже. Не совсем он подойдет. У меня сейчас реализован вывод доп.фото на странице категории. Необходимо чтобы вывод видео был как бы отдельно от этих фоток. В идеале сделать кнопку "Видео" и чтобы при нажатии на нее открывалось видео в галерее.
-
Добрый день. Прошу подсказать возможные решения. Может быть есть какие-то плагины или как это можно реализовать самому. Необходимо добавить видео к товару, чтобы его можно было вывести на страницу категории и на главную(product_tab). Скрины, как примерно я хочу чтобы это выглядело прикрепляю. Версия opencart 2.3.0.2.3. Шаблон стандартный.
-
- Это популярное сообщение.
- Это популярное сообщение.
Благодарю за "шпаргалку") Начал переделывать все шаги, чтобы все более подробно расписать и надо же, все заработало! Расписываю, если вдруг кому понадобится
Более подробно о том, что сделано:
В catalog\controller\product\category.php начиная с 231 строчки заменил
Скрытый текстif ((float)$result['special']) {
$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
} else {
$special = false;
}на
Скрытый текстif ((float)$result['special']) {
$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
$skidka = round(100-($result['special']/($result['price']/100)))
} else {
$skidka = false;
$special = false;
}далее на 286 строке заменил
Скрытый текст$data['products'][] = array(
'product_id' => $result['product_id'],
'dop_img' => $dop_img,
'thumb' => $image,
'name' => $result['name'],
'description' => $description,
'price' => $price,
'special' => $special,
'options' => $this->model_catalog_product->getProductOptions($result['product_id']),
'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),
'tax' => $tax,
'sticker' => $stickers,
'benefits' => $benefits,
'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1,
'rating' => $result['rating'],
'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
);на
Скрытый текст$data['products'][] = array(
'product_id' => $result['product_id'],
'dop_img' => $dop_img,
'thumb' => $image,
'name' => $result['name'],
'description' => $description,
'price' => $price,
'special' => $special,
'skidka' => $skidka,
'options' => $this->model_catalog_product->getProductOptions($result['product_id']),
'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),
'tax' => $tax,
'sticker' => $stickers,
'benefits' => $benefits,
'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1,
'rating' => $result['rating'],
'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
);( после 'special' => $special, добавил 'skidka' => $skidka,)
далее, в css добавил пару стилей.
Скрытый текст.procent { position: absolute; top: 5px; left: 5px; background: rgba(255, 0, 0, 0.57); border-radius: 50px; width: 100px; height: 75px; padding-top: 25px; text-align: center; font-size: 30px; color: #fff; text-shadow: 0px 0px 5px #520202; }
.procent span {display: block; font-size: 15px;}
.box-product > div:hover .procent {box-shadow: 0px 0px 5px #FDDF00;}Учитывая, что для ".procent" было задано абсолютное позиционирование, добавим для блока с товаром "position:relative"
.box-product > div{ position: relative;}
ну и собственно вывел в нужном месте. В моем случае это в catalog/view/theme/default/template/product/category.tpl после
Скрытый текст<span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span>
вставил
Скрытый текст<div class="procent"><?php echo $product['skidka']; ?> % <span>Скидка</span></div>
Всё! Результат: Скидка в процентах выводится в каждой товарке в виде "стикера". Можно оформить так, как вам этого захочется
-
Добрый день. Задача такая: на акционных товарах вывести скидку в процентах. Версия 2.3 . Делал вот такие изменения, но что-то не работает, при выводе пишет ошибку что переменная не найдена.
Скрытый текст1. Изменения в контроллере. (/catalog/controller/module/special.php)
Находим:
if ((float)$result['special']) {
$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
$special = false;
}
И меняем на:
if ((float)$result['special']) {
$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
$skidka = round(100-($result['special']/($result['price']/100)))
} else {
$skidka = false;
$special = false;
}
Затем:
$this->data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'price' => $price,
'special' => $special,
'rating' => $rating,
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id'])
);
Меняем на:
$this->data['products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,
'name' => $result['name'],
'price' => $price,
'special' => $special,
'skidka' => $skidka,
'rating' => $rating,
'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href' => $this->url->link('product/product', 'product_id=' . $result['product_id'])
);
Для Opencart 2 код будет примерно такой же, поэтому переписывать не буду, найти не сложно. Еще один момент - в некоторых модулях вместо "$result" может использоваться "$product_info", соответственно тогда вычислять нужно так:
$skidka = 100-($product_info['special']/($product_info['price']/100));
2. Изменения в шаблоне (/catalog/view/theme/default/template/module/special.tpl):
После:
<span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
Добавляем:
<div class="procent"><?php echo $product['skidka']; ?> % <span>Скидка</span></div>
3. Немного изменений в css:
.procent { position: absolute; top: 5px; left: 5px; background: rgba(255, 0, 0, 0.57); border-radius: 50px; width: 100px; height: 75px; padding-top: 25px; text-align: center; font-size: 30px; color: #fff; text-shadow: 0px 0px 5px #520202; }
.procent span {display: block; font-size: 15px;}
.box-product > div:hover .procent {box-shadow: 0px 0px 5px #FDDF00;}Учитывая, что для ".procent" было задано абсолютное позиционирование, добавим для блока с товаром "position:relative"
.box-product > div{ position: relative;}
-
В 05.06.2018 at 15:26, WarStyle сказал:
Я думаю mega filter + изменение дизайна.
спасибо, буду разбираться )
-
Добрый день. Нужен ваш совет. Необходимо реализовать на сайте фильтры, примерно как на прикрепленном скриншоте. Как я понимаю, стандартно фильтры выводятся таким образом, что внешний вид отдельно взятого фильтра особо не поменяешь и не реализуешь , например, такой фильтр по эффектам, как на прикрепленном примере . Прошу помочь советом, чем лучше это можно реализовать: подсказать какой-то модуль, или, может быть, как это можно сделать стандартным фильтром. Спасибо.
Картинки, код и логи убирайте под спойлер.
-
Не заметил, спасибо огромное, все заработало !
-
20 минут назад, BuslikDrev сказал:
//Вместо этого
'discounts' => $this->model_catalog_product->getProductDiscounts( $result['product_id'] )
//Сделайте ещё array
$discounts_data = array ();
$discounts = $this->model_catalog_product->getProductDiscounts( $result['product_id'] );
foreach ($discounts as $discount) {
// cюда вставить обработку цены для вывода валюты.
$price =
$discounts_data[] = array (
'quantity' => $discount['quantity'],
'price' => $price
);
}
$data['products'][] = array( ... 'discounts' => $discounts_data, );
Что-то у меня не выходит. Чуть-чуть подредактировал Ваш код, потому что выдавало ошибку. Перед $data['products'][] = array( я вставил такой код:
Скрытый текст$discounts = $this->model_catalog_product->getProductDiscounts( $result['product_id'] );
$data['discounts'] = array ();foreach ($discounts as $discount) {
$price = $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
$discounts_data[] = array (
'quantity' => $discount['quantity'],
'price' => $price
);
}
и далее в $data['products'][] = array( вставил
Скрытый текст'discounts' => $this->model_catalog_product->getProductDiscounts( $result['product_id'] )
вывод в теме не трогал и все осталось по старому: цены все так же не меняются когда меняешь валюту
-
Сделал вывод скидок на странице категории таким образом:
в контроллере добавил массив:
$data['products'][] = array( ... 'discounts' => $this->model_catalog_product->getProductDiscounts( $result['product_id'] ) );
И в шаблоне вывел:
<?php if ($product['discounts']) { ?> <?php foreach ($product['discounts'] as $discount) { ?> <?php echo $discount['quantity']; ?><?php echo $discount['price']; ?> <?php } ?> <?php } ?>
Проблема в том, что те скидки, которые я вывожу не привязываются к валюте. Т.е. при смене валюты цена остается всегда в основной валюте сайта. Подскажите, как это исправить?
-
- Это популярное сообщение.
- Это популярное сообщение.
Решение нашлось. Кому интересно, привожу его:
/catalog/controller/product/category.php
после строк
$results = $this->model_catalog_product->getProducts($filter_data); foreach ($results as $result) {
вставляем следующее
$results_img = $this->model_catalog_product->getProductImages($result['product_id']); $dop_img = array(); foreach ($results_img as $result_img) { if ($result_img['image']) { $image_dop = $this->model_tool_image->resize($result_img['image'], 50, 50); } else { $image_dop = false; } $dop_img[] = $image_dop; }
В этом же файле, после:
$data['products'][] = array( 'product_id' => $result['product_id'],
Вставляем
'dop_img' => $dop_img,
/catalog/view/theme/default/template/product/category.tpl
Находим
<?php foreach ($products as $product) { ?>
И под этой строчкой, где надо вставляем
<div class="dop_img"> <?php foreach ($product['dop_img'] as $img) { ?> <img src="<?php echo $img;?>"> <?php } ?> </div>
Далее выводим дополнительные фото на главной:
/catalog/controller/extension/module/product_tab.php
находим строчки
Скрытый текст$latest_results = $this->model_catalog_product->getProducts($filter_data);
if ($latest_results) {
foreach ($latest_results as $result) {после них вставляем
Скрытый текст$results_img = $this->model_catalog_product->getProductImages($result['product_id']);
$dop_img = array();
foreach ($results_img as $result_img) {
if ($result_img['image']) {
$image_dop = $this->model_tool_image->resize($result_img['image'], 50, 50);
} else {
$image_dop = false;
}
$dop_img[] = $image_dop;
}далее находим строчки
Скрытый текст$data['latest_products'][] = array(
'product_id' => $result['product_id'],
'thumb' => $image,после них вставляем
Скрытый текст'dop_img' => $dop_img,
далее идем в файл /catalog/view/theme/default/template/extension/module/product_tab.tpl
и после строк
Скрытый текст<div class="image"><?php echo $product['sticker']; ?><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></a></div>
вставляем
Скрытый текст<div class="dop_img">
<?php foreach ($product['dop_img'] as $img) { ?>
<img src="<?php echo $img;?>">
<?php } ?>
</div>Вот и все. После проделанного доп фото начнут выводиться на главной в разделе "Новинки"(по аналогии можно вывести и в другие разделы) и на странице категорий
-
Версия 2.3.0.2.3. Необходимо вывести дополнительные фото на главной( в модуле "Модуль табы") и на странице категории. Подскажите пожалуйста, как это можно реализовать
-
В 09.05.2018 at 00:02, SunnRi сказал:
Cделайте через опции
Т.е указываете цену в карточке за 16 дней,а опциями указываете цену минус от этих дней,и будет цена сразу указана за 16 дней например 300$, в карточке при выборе 3 дней,будет указыватся например 40$.
Ну короче говоря,я думаю вы поняли суть мысли
Тогда и в категории,и на главной цена будет по 300$, а в карточке клиент сам решит сколько надо выбрать.
Спасибо, но что-то я не разобрался как это сделать опциями. Сделал в итоге просто вывод поля в категории и на главную и туда забил минимальную цену
-
Добрый день. Есть сайт https://bravis.by/.
Задача такая: если вы зайдете в карточку товара то увидите, что там есть скидки, в зависимости от количества дней. Надо чтобы и на главной и в категории они так же выводились. Общий принцип понимаю. Надо взять строчки кода, отвечающие за их вывод из Product.php и добавить в category.php и в product-tab.php(Товары на главной выводятся модулем Модуль табы). Потом тоже самое проделать с файлами темы. Но, что именно и куда именно переносить разобраться не могу, прошу помочь. Версия Opencart 2.3.0.2.3
-
7 минут назад, BuslikDrev сказал:
Все отлично! Спасибо огромное! Заработало!
-
15 минут назад, BuslikDrev сказал:
Какие попытки были вывода в модуль, опишите, подскажем.
в файле catalog\controller\extension\module\product-tab.php:
после строки $data['text_tax'] = $this->language->get('text_tax');
добавил
$data['text_upc'] = $this->language->get('text_upc');далее в блок $data['featured_products'][] = array(
после строки 'name' => $product_info['name'],
добавил
'upc' => $result['upc'],в файл catalog\view\theme\default\template\extension\module\product-tab.tpl в нужное место добавил
?php if ($product['upc']) { ?>
<?php echo $text_upc; ?><?php echo $product['upc']; ?>
<?php } ?>Ошибку что переменная не найдена уже не выдает, но и ничего не выводит, даже при заполненном поле upc
-
Добрый день. Подскажите пожалуйста, как вывести дополнительное поле в "модуль табы", это модуль, которые выводит товары на главную. Именно надо их вывести в раздел "рекомендуемые". На страницу категорий получилось вывести без проблем, а вот сюда почему-то не выводит. Версия Версия 2.3.0.2.3. В категории выводит по этому гайду:
Скрытый текст1) Открываем файл catalog/controller/product/category.php и после строки:
$data['text_tax'] = $this->language->get('text_tax');
Добавляем:
$data['text_sku'] = $this->language->get('text_sku');
В этом же файле (ниже), находим строку:
'name' => $result['name'],
После неё добавляем:
'sku' => $result['sku'],
2) Открываем все языковые файлы catalog/language/russian/product/category.php и добавляем в них строку с переводом:
$_['text_sku'] = 'Артикул:';
3) Открываем файл шаблона catalog/view/theme/ВАША_ТЕМА/template/product/category.tpl и добавляем (куда хотим) вывод SKU с проверкой:
<?php if ($product['sku']) { ?> <?php echo $text_sku; ?><?php echo $product['sku']; ?> <?php } ?>
-
Добрый день. Есть сайт https://bravis.by/
Задача такая: если вы зайдете в карточку товара то увидите, что там есть скидки, в зависимости от количества дней. Надо чтобы (и на главной и в категории) вытягивалась минимальная цена( от 16 дней). Возможно ли это сделать?
-
3 минуты назад, Nameless сказал:
меняйте в обоих файлах, обновите кэш и модификаторы в магазине и очистите кэш браузера, все должно работать
все так и сделал, ничего не помогает
Дубли главной страницы
в Общие вопросы
Опубликовано:
Добрый день. Нашел такую проблему: если к url главной страницы добавить ?format-type= и какое-либо число то страница доступна и она считается дублем. Подскажите, как можно решить эту проблему?