-
Публікації
2 022 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем ocdev_pro
-
-
-
43 минуты назад, Bdn сказал:
Вам в метод $this->cart->hasAdded(// сюда передаем id товара который проверяем);
если добавляете перед массивом $data['products']..
то определяем переменную $has_added = $this->cart->hasAdded($result['product_id']);
которая из запроса получить значение TRUE или FALSEа в массив $data['products'] = array(
'added_to_cart' => $has_added,
потом в шаблоне где идет цикл
<?php foreach ($products as $product) { ?>можно вызвать это значение и запустить в условие
<?php if($product['added_to_cart']) { ?>ТОВАР в КОРЗИНЕ
<?php }else{ ?>ТОВАР НЕ В КОРЗИНЕ
<?php } ?>
....
<?php } ?>P.S Вам надо не пытаться понять Opencart, а учить просто язык программирования PHP, Вы по матчасти просто не знаете ничего
-
1
-
-
21 минуту назад, Prooksius сказал:
да, прошу прощения, залез в код, обновил в памяти, все верно, там тоже проходится по всем товарам корзины.
Ну тогда да, ваш метод лучшеМинимум 8 запросов, и если найдены опции, запросит еще опции.. и в итоге при каждом обращении в корзину за методом getProducts выходит N товаров * 8 запросов
Если на странице 30 товаров, получаем 240 запросов только от 1 юзера. И только на корзину. А еще есть получение самих товаров, где LEFT JOIN product_description итд делаются в 1 запросе.. Огромном и тяжелом.. + модули итд. для БД много но мелких запросов обработать гораздо проще.
На магазине в 100 товаров оно может и не заметно согласен, но если взять магаз от 20000 да еще и с трафиком, то никаких ресурсов не хватит и будут тормоза -
3 часа назад, Prooksius сказал:
одно, а у вас если в цикле - то будет много, особенно когда 50-70 позиций в корзине. Да еще и при 10 одновременных покупателях - весело будет. серверу
Ну а если с опциями - тут конечно в любом случае куча запросов, как ни крути.Одно? Ну ясно)))
-
5 минут назад, Prooksius сказал:
А вот обращение к бд гораздо затратнее
А т.е при
$this->cart->getProducts();
Там нет обращений к бд совсем? -
1 минуту назад, Prooksius сказал:
да ладно, сколько там позиций в корзине-то..
А вот обращение к бд гораздо затратнее1. Вы вероятно не работали с проектами где по 50-70 позиций в корзине бывает. А поверьте это создаст проблемы.
2. Обращение к БД в методе getProducts в корзине. Кол-во запросов в нем больше 10 как минимум и еще циклы для обработки.
Мой же метод простой и быстрый. -
Ну если по нормальному, то в system/library/cart/cart.php
Добавляем метод
public function hasAdded($product_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "cart WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "' AND product_id = '" . (int)$product_id . "'"); if($query->num_rows){ return true; }else{ return false; } }
Затем из нужного места обращаемся к нему $this->cart->hasAdded($product_id); вернет bool значение
И не нужно обходить циклом всю корзину для подобной реализации. Потом страдают и говорят у меня корзина тупит-
1
-
-
проверьте существование переменной $data['lang'] = ... в header.php
а лучше возьмите свою конструкциюif(isset($this->session->data['language'])) {
$data['current_lang'] = $this->session->data['language'];}else{
$data['current_lang'] = $this->config->get('config_language');
}
и уже в своем шаблоне проверяйте текущий язык сайта
{% if current_lang == 'ru-ru' %}//что-то делаете
{% endif %}
И во время разработки не забываем выключать кеш Twig или хотя бы чистить его
-
1
-
-
4 часа назад, pachok89 сказал:
Здравствуйте, проверил все пункты SEO url у новостей не формируется. Не подскажите в чем еще может быть проблема?Скорее всего в seo_pro, пришлите в ЛС доступ в админку, посомтрю
-
29 минут назад, istoremoscow сказал:
смс после того, как человек сделает заказ на сайте
-
13 минут назад, nikeforce111 сказал:
Здравствуйте,
Переносим сайт который уже продвинутый по SEO на новый движок оcstore и столкнулись с таким вопросом: на старом сайте url товара выглядит так, домен/категория/подкатегория/товар. На новом сайт планируем сделать домен/товар (т.е. изменить url всего сайта). Так как планируем добавление нового товара и новых категорий, где один товар может быть в 5-8 категориях, соответственно при переходе на товар хотелось бы видеть url одинаковый. Как это реализовать без потери в продвижении через 301 редирект или как-то по другому? Стоит ли вообще так делать или оставить так как есть, а уже новый товар добавлять через url домен/товар?
Если Вы сделаете товары без категорий то в ocStore по умолчанию будет срабатывать 301 редирект на товар без категории. Поэтому будет небольшая просадка по seo но в итоге url склеятся и все будет нормально. При условии что у Вас используется SeoPro для обработки ссылок, а не стандартный формирователь
-
1
-
-
4 часа назад, Sergei123321 сказал:
Я не программист, на таком уровне менять код не умею
Так а какой Вы ответ тогда хотите, "на блюдечке с голубой каеомочкой"? Учитесь или возьмите уже наконец себе специалиста на ряд задач
-
В контроллере product.php
$data['quantity'] = $product_info['quantity'];
В шаблоне
<?php if($quantity) { ?>
<button .... disabled="disabled" .. здесь отключенная
<?php }else{ ?><button // тут кнопка активная
<?php } ?>
-
55 минут назад, Olegdp сказал:
Доброго времени суток. Установил ваш модуль, шаблон Лайтшоп, ocStore 2.3.
Установил, обновил кэш, выдал права просмотр/изменение, установил модуль. В локализации магазина строчка для префиксов не появилась. Двойной слеш в ссылках и поплыла верстка у переключателя. Пришлось удалить. Хотя на другом шаблоне - Revolution, все четко, только верстка поплыла, ну это поправил.
Подскажите куда копать.
Переустановить еще раз, вероятно сразу в БД не произошло обновление, что бы префикс в списке языков появился, иногда такое бывает.
Ну а верстке это понятное дело под шаблон подгонку надо делать -
2 минуты назад, pawana сказал:
Шо за мод?
Напишите в ЛС пришлю, когда буду за пк
-
7 минут назад, FastOptimizer сказал:
Да во первых не удобно использовать везде разные ссылки
Во вторых заказчик просит - я не сопротивляюсь
Хозяин барин, придется лепить костыли, а клиенту видимо сеошники мози промыли
-
Зачем под 3 делать разделение, если там и так всё ок. ЧПУ, у меня есть под 3 мод что бы проставить правильный hreflang.
-
2 часа назад, IBVRS сказал:
Добрый день, коллеги!
Разбираясь с сборками ocStroe 3x, OpenCart 3x и ocStroe 2x я нашел одно различие.В версиях 3x нет локализации в настройках главной страницы (title, desc). Да, я знаю, что это решается модулем в 3x.
Но увидел у товарища, что это есть в ocStore, но потом еще увидел, что это версия 2x и подумал, может, это чего-то не знаю про 3x.
У меня есть решение, просто еще не в паблике. Пишите в ЛС
-
2 часа назад, RubenS сказал:
Есть ли возможность использования вашего модуля для отправки СМС через стандартный шлюз Мегафона. У мегафона есть тариф для отправки корпоративных информационных СМС https://moscow.megafon.ru/corporate/productsandsolutions/products/mobilnoe_informirovanie.html
Сейчас нет такой интеграции. Спросите у Мегафона, есть ли у них API для этой услуги. Если да, то пришлите документацию по API в ЛС, смогу интегрировать в частном порядке
-
40 минут назад, aleksandrsharikov сказал:
на оС3 нет этого модуля?
Пишите в ЛС
-
Только что, Dime сказал:
Правило есть:
Работает - не трогай!
Не для всех и не всегда.
24 минуты назад, nikeforce111 сказал:сайт был только на русском в старой версии, также останется только русский и в новой версии.
Тогда на поддомене где-то делайте новую версию, подключайте сеошника, что бы прогнал прогой типа паукра Screaming Frog SEO и сравнил ссылки, ответа сервера и мета данные. Что бы ничего не изменилось и можно будет переносить на продакшн и включать. Больших Вам продаж
-
1 час назад, nikeforce111 сказал:
Добрый день, хотим сделать перенос сайта на Ocstore 3.0.2.0 c версии 1.5.5.1.2, но сайт по многим позициям в топе яндекс и гугл. Упадут ли позиции?
Перенос связан с медленной работай сайта, нехваткой модулей, старый дизайн и т.д. У кого был опыт с переносом уже продвинутого в seo сайта?
При правильном подходе нет, поскольку структура сайта и ссылок измениться не должна. Но если сайт мультиязычный, то в 1.5 ссылки на всех языках либо одинаковые, либо имеют языковой префикс вида site.com/tovar на русском, site.com/by/tovar на беллоруском. А в opencart 3 ссылки должны будут иметь вид site.com/tovar и site.com/by-tovar соответственно. Поэтому нужна будет склейка ссылок второго языка через 301 редирект.
-
31 минуту назад, LeotaDerron сказал:
Проблема актуальна, проверял и через вашу ссылку, и ноттетпадом++ и чем только не пробовал. В смс также приходит без пробела. В комментариях в заказе так же без пробелов. Может случай частный, не спорю, до обновления не было проблем. Можете в личке подсказать как решить вопрос?
Пишите в ЛС разберём Вашу проблему
-
4 минуты назад, florapraktik сказал:
Вывод:
Кто дрогнет, заистерит и наделает глупостей, тот отдаст свой трафик тому, кто глупостей не делал и хладнокровно выбрал платить штрафы.
Так випьем же за то, что бы истерящих было как можно больше!
Ахахаха, вот в том то и вся прелесть)) А потом в законе будет куча поправок и все наши обсуждения здесь до одного места))
Как убрать кнопку купить если кол-во = 0
в Opencart 2.x: Загальні питання
Опубліковано:
В product.php объявить переменную
А в шаблоне уже ее вызывать по примеру ранее
<?php if($has_added) { ?> .. итд
Нет смысла спрашивать, здесь вопрос в элементарном понимании работы всей этой кухни. Такие решения четко потом показывают клиенту, почему професиионалы работают дороже.