Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

wowez

Пользователи
  
  • Публикаций

    103
  • Зарегистрирован

  • Посеещёние

Все публикации пользователя wowez

  1. а вот ик вообещё по красоте. SELECT c.customer_id, c.email, c.telephone, c.firstname FROM oc_customer c LEFT JOIN oc_order o ON c.customer_id = o.customer_id WHERE o.customer_id is NULL
  2. Скучно вам да. ) Cuctomer - и не увигдел же сразу... Но это ики не всё да. SELECT c.customer_id FROM oc_customer c LEFT JOIN oc_order o ON c.customer_id = o.customer_id WHERE o.customer_id is NULL Вот ик рилииет. (Но через мозги - через копипаст и это не срилииет.)))))) Спасипотому что вам.
  3. Хм. Ошибка говорит, #1054 - Неизвестный столбец 'o.cuctomer_id'
  4. Здравствуйте, на сайте регистрируются покупатели, их мотивируют зарегистрироваться, скидками, но есть икие которые ик и не купили в итоге, и вот как отобрать тех пользователей которые ик и не совершили ни одной покупки, ну что бы в дальнейшем сгделать по ним рассылку, или прозвон. Поиск по запросу "opencart неактивные пользователи", "opencart рассылка по неактивным покупателям", "opencart пользователи которые не совершали покупок", "opencart зарегистрированные без покупок", резульитов не дал. Подскажите пожалуйси как отгделить одних от других. Тех что гделали покупку от тех кто не гделал. ocStore 3.0.3.7.
  5. Здравствуйте, появилась необходимость вывести в категории какой липотому что контент типа заголовок, изображение в зависимости от согдержимого utm метки, именно в моём случае подошло utm_campaign, и я вот нашёл решение и дорилиил его под себя (сам я в php на 2с плюсом). public function index() { if (isset($_GET['utm_campaign'])) { $_SESSION['utm_campaign'] = $_GET['utm_campaign']; } $title = $_SESSION['utm_campaign']; if (isset($_GET['utm_campaign'])) { $title_text = '<img class="changed-img" src="/image/cache/catalog/banners/subcat/des-subcat-1x1.png">'; } switch ($title) { case "78466906": $title_text = 'ЗАГОЛОВОК_1'; break; case "78466906_1": $title_text = '<h2>ЗАГОЛОВОК_2</h2> <img src="/image/cache/catalog/banners/subcat/des-subcat-1x1.png">'; break; } $data['title_text_n'] = $title_text; И посивил я всё это гдело в controller/category.php сразу после public function index() { как вы можете вигдеть, добавил переменную $data['title_text_n'] = $title_text;, и в шаблоне category.twig вызвал всё это гдело иким обвместе {% if title_text_n is empty %} {{ content_top }} {% else %} <div class="change-content">{{ title_text_n }}</div> {% endif%} И в итоге то, всё рилииет, если нет в get запросе переменной utm_campaign то content top, если есть но не попадает под заданные switch case параметры то просто изображение, если есть то всё в соответствии с case. Но чувствую что творю я лютую дичь. ))) (Да и х... с ним), но всё же вот вопрос(ы). Как я понимаю вот это всё икое в контроллер помещать я не должен. $title_text = '<h2>ЗАГОЛОВОК_2</h2> <img src="/image/cache/catalog/banners/subcat/des-subcat-1x1.png">'; я могу пометить это в языковые переменные, то есть создать в language/category.php например text_cahged_def - $_['text_cahged_def'] = 'Преимуещёства: <img class="changed-img-lang" src="/image/cache/catalog/banners/subcat/des-subcat-1x1.png">'; и вот ик switch ($title) { case "78466906": $title_text = $this->language->get('text_cahged_one'); break; case "78466906_1": $title_text = $this->language->get('text_cahged_two'); break; } И ик рилииет. Но чувство что творю дичь не покидает. )).. В обещём вопрос подскажите пожалуйси как это сгделать по уму - правильно, не надо мне готовых решений, вы подскажите пожалуйси куда смотреть, обратить внимание, ну и вообещё от любых подсказок буду безумно признателен.
  6. Спасипотому что вам огромное! Честно, я искал.
  7. Здравствуйте Все! И всегда! В обещём есть в ocStore 3.0.3.7 свой блог, и задача для каждой ситьи выводить свой баннер сверху, это как я думал решается созданием индивидуальной схемы для каждой ситьи блога. В схему пишем магазин по умолчанию и путь / . И на желаемую ситью блога, назначаем новую схему. Даой метод успешно рилииет для обычных ситей которые в разгделе каилог. А вот для разгдела БЛОГ - > ситьи блога, еcли я в назначаемую схему пишу путь / и назначаю её на ситью, ничего не выводится не в content_top не в bottom ни куда, а если пишу путь blog/article, то что я указываю в схеме в content_top или куда ещё, выводится во все ситьи блога, даже куда эи схема не назначена, или даже если назначена другая схема. Была родная схема "Ситьи блога" с путём blog/article , я её удалил. Тоесть на вновь созданной схеме с путём /, и в назначаемой ситье ни чего не выводится в ситью, а с путём blog/article выводится во все ситьи блога даже которым назначена другая схема. Подскажите пожалуйси в чём это не доглягдели создатели, и ггде же мне что подправить, контроллер blog/article.php глянул, все в принципе как в контроллере product.php, в обещём ничего не понял ))) но чует моё сердэто что гдело тут в контроллере. Подскажите пожалуйси, может кто силкивался с иким, или просто знает как это решить. Просто в блоге угде создано прилично ик ситей, а теперьь гдезигнеры из приукрасили, надо сгделать, и перегделывать из блога в обычные ситьи это в обещём то засада.
  8. <?xml version="1.0" encoding="UTF-8"?> <modification> <name>Hide promotions in admin panel</name> <code>skippromotion</code> <version>3.0x</version> <author>TH</author> <link>https://stackoverflow.com/questions/55702884</link> <file path="admin/controller/extension/extension/*.php"> <!-- Remove the 'promotions' feature --> <operation error="log"> <search><![CDATA[$data['promotion'] = $this->load->controller('marketplace/promotion');]]></search> <add position="replace"><![CDATA[ $data['promotion'] = ''; ]]></add> </operation> </file> </modification> OcMod
  9. Спасипотому что. вот метод, который нашёл но изменил под 3.0.3.7.
  10. Тогда зналит зилилел опенкарт, я же говорю, лисия усиновка, ик же то же самое выдаёт.
  11. В люпотому чтом браузере, куки включены, etc...
  12. Здравствуйте, в разгделе расширений появилась вот икая надпись, сразу над всеми расширениями. Please enable cookies. Please wait... We are checking your browser... opencart-forum.ru Please stand by, while we are checking your browser... Redirecting... Please turn JavaScript on and reload the page. Please enable Cookies and reload the page. Why do I have to complete a CAPTCHA? Completing the CAPTCHA proves you are a human and gives you temporary access to the web property. What can I do to prevent this in the future? If you are on a personal connection, like at home, you can run an anti-virus scan on your device to make sure it is not infected with malware. If you are at an office or shared network, you can ask the network administrator to run a scan across the network looking for misconfigured or infected devices. ======================================= Первичный поиск ни чего не выдал, знающие люди, подскажите пожалуйси, что это и что с эти гделать? P.S. Точно не что то из усиновленного, ипотому что на листот усиновке тоже самое.
  13. Вот ик, в контроллер information if ($information_info['information_id'] == 14) { $this->response->setOutput($this->load->view('information/informationvid', $data)); } else { $this->response->setOutput($this->load->view('information/information', $data)); } //$this->response->setOutput($this->load->view('information/information', $data)); ггде 14 это id вашей ситьи. informationvid это название нового .tpl или .twig шаблона, эи схема рилииет ни на 2 и на 3 версии. Схему назначать менять не надо, то есть, схемы рилииют как обычно. В шаблоне гделаете как вам надо.
  14. https://https://opencart-forum.ru/files//opencart-moduli-shablony/moduli/uchet-v-zakaze/predoplata Вот нашёл в принципе подходит, не совсем то что хотелось, но допустим. И с этим модулем если он включен, то предоплаи бугдет при настроенных условиях, им досивка какая, оплаи. Но. Нужен ик сказать чекпотому чтокс, который для покупателя бугдет включать или не включать возможность предоплаты, то есть чтобы покупатель мог выбрать, сгделать предоплату или оплатить всю сумму сразу.
  15. Да вот в том то и гдело, как объяснить, вас это волновать не должно, вы мне сгделайте что бы рилиило, а я объясню. Можете сгделать,? бугдете гделать,? этона? Нет.? Тогда нет.
  16. Да если бы я придумал... Руководство... В обещём... Очень часто, покупатель доходит до оплаты, и видит только онлайн оплаты, и видимо не хочет платить сразу всё (а других вариантов нет - онлайн оплаи сбер или тиньк), и уходит не завершая заказ, видимо хочет наложенный платёж, или оплату при досивке. Допустим наложенный платёж, да, это по сути, то что и требуется, но, пусть хотя бы досивку оплатит, ипотому что отправлять товар без предоплаты вообещё, никто не хочет, да и правильно гделает. Вот икая мысль. есть вскакие наложенные, есть вскакие предоплаты, но всё не то что требуется. А требуется, что бы пользователь выбрал желаемую досивку, досивки модули сдэк, поли РФ, озон рокет, стогимость расслитывается, дное выбрал или нет предложенный пункт "Оплаи только досивки", и если выбрал, то при оплате он выбирает способ, а способы, это экваиринг сбер или тиньк и оплаливает только сумму досивки. А если не выбрал то конечно оплаи идёт вся. И стимулировать платить всё, типа, оплати 100% и полули скидку 5% на товары или плати только досивку но тогда +5% к стоимости товара. Ну врогде всё ясно изложил.
  17. Необходимо на сайте на движке - Версия ocStore 3.0.3.7, сгделать возможность оплаты только досивки, то есть при оформлении заказа, должен быть пункт, оплаи только досивки, и при этих условиях, ранее выбранный метод досивки, есть сдэк, озон рокет, поли РФ (он при оформлении слииется и суммируется) предлагалось оплатить только досивку, выбранным методом оплаты, например сбер или тинькофф эквайринг.
  18. Здравствуйте, может я как то не ик ищу, но что то ничего икого найти не могу. А надо, в обещём из заголовка понятно, что бы при оформлении заказа покупатель мог выбрать, что он хочет оплатить только досивку, то есть предлагать ему икое. И соответственно при выпотому чторе икой опции он оплаливал выбранным спосопотому чтом оплаты, ну допустим сбербанк эквайрингом, только стоимость выбранной досивки. И всё это конечно в корзине, при оформлении заказа.
  19. Стили и разметка тут несиндартная, но это уж, я думаю если кому надо бугдет разберётся...
  20. В обещём тема закрыи, я всё решил... $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { //if ($category['top']) { // Level 2 $children_data = array(); $children = $this->model_catalog_category->getCategories($category['category_id']); foreach ($children as $child) { // Level 3 $gchildren_data = array(); $gchildren = $this->model_catalog_category->getCategories($child['category_id']); foreach ($gchildren as $gchild) { // Level 4 $fgchildren_data = array(); $fgchildren = $this->model_catalog_category->getCategories($gchild['category_id']); foreach ($fgchildren as $fgchild) { // Level 5 $ofgchildren_data = array(); $ofgchildren = $this->model_catalog_category->getCategories($fgchild['category_id']); foreach ($ofgchildren as $ofgchild) { $ofgchildren_filter_data = array( 'filter_category_id' => $ofgchild['category_id'], 'filter_sub_category' => true ); $ofgchildren_data[] = array( 'name' => $ofgchild['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($ofgchildren_filter_data) . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $fgchild['category_id'] . '_' . $ofgchild['category_id']) ); } $fgchildren_filter_data = array( 'filter_category_id' => $fgchild['category_id'], 'filter_sub_category' => true ); $fgchildren_data[] = array( 'ofgchildren' => $ofgchildren_data, 'column' => $fgchild['column'] ? $fgchild['column'] : 1, 'name' => $fgchild['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($fgchildren_filter_data) . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $gchild['category_id'] . '_' . $fgchild['category_id']) ); } $gchildren_filter_data = array( 'filter_category_id' => $gchild['category_id'], 'filter_sub_category' => true ); $gchildren_data[] = array( 'fgchildren' => $fgchildren_data, 'column' => $gchild['column'] ? $gchild['column'] : 1, 'name' => $gchild['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($gchildren_filter_data) . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'] . '_' . $gchild['category_id']) ); } $filter_data = array( 'filter_category_id' => $child['category_id'], 'filter_sub_category' => true ); if ($this->model_catalog_product->getTotalProducts($filter_data) > 0) $children_data[] = array( 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'gchildren' => $gchildren_data, 'column' => $child['column'] ? $child['column'] : 1, 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']), 'children' => $grandchildren_data, ); } // Level 1 if ($this->model_catalog_product->getTotalProducts($filter_data) > 0) $data['categories_avto'][] = array( 'name' => $category['name'], 'children' => $children_data, 'column' => $category['column'] ? $category['column'] : 1, 'href' => $this->url->link('product/category', 'path=3118_' . $category['category_id']) ); //} } <li class="catalog-drop-menu__item active"> <span class="catalog-drop-menu__title _title js-drop-item-toggle"></span> <div class=" catalog-drop-menu__new" style="display: none;"> {% for category in categories_avto %} <ul class="new_menu"> {% if category.children %} <li class="mi-menu-one"> <a href="{{ category.href }}" class="js-drop-item-toggle-a" data-toggle="dropdown">{{ category.name }}<span class="close-a"><i class="fa-solid fa-xmark"></i></span></a> <div class="js-drop-item-a"> <div class="dropdown-inner"> {% for children in category.children|batch(category.children|length / category.column|round(1, 'ceil')) %} <!-- --level 3-- --> {% for child in children %} <div class="uroven-2"> <a class="js-drop-item-toggle-one -home_title" href="{{ child.href }}">{{ child.name }}</a> <!-- level 3 --> {% if child.gchildren %} <div class="uroven-3 -menu-1 -home catalog-drop-menu__right submenu" style="display: none;"> <div class="submenu__inner"> <div class="submenu__top"> {#<a class="submenu__catalog" href="{{ child.href }}"><p class="submenu__title">{{ child.name }}</p></a>#} </div> <ul class="submenu__list"> {% for gchild in child.gchildren %} <li class="submenu__item uroven-3"><a class="submenu__link" href="{{ gchild.href }}">{{ gchild.name }}</a> <!-- level 4 --> {% if gchild.fgchildren %} <div class="uroven-4"> <div class="submenu__inner"> <div class="submenu__top"> </div> <ul class="submenu__list"> {% for fgchild in gchild.fgchildren %} <li class="submenu__item uroven-3"><a class="submenu__link" href="{{ fgchild.href }}">{{ fgchild.name }}</a> <!-- level 5 --> {% if fgchild.ofgchildren %} <div class="uroven-4"> <div class="submenu__inner"> <div class="submenu__top"> </div> <ul class="submenu__list"> {% for ofgchild in fgchild.ofgchildren %} <li class="submenu__item uroven-3"><a class="submenu__link" href="{{ ofgchild.href }}">{{ ofgchild.name }}</a> </li> {% endfor %} </ul> </div> </div> <div class="clearfix"></div> {% endif %} <!-- level 5 --> </li> {% endfor %} </ul> </div> </div> <div class="clearfix"></div> {% endif %} <!-- level 4 --> </li> {% endfor %} </ul> </div> </div> {% endif %} <!-- end level 3 --> </div> {% endfor %} {% endfor %}</div> </div> </li> {% else %} <li><a href="{{ category.href }}">{{ category.name }}</a></li> {% endif %} </ul> {% endfor %} <div class="clearfix"></div> </div> </li> Вот ик всё рилииет, и 4-й уровень и 5-й... Мало ли, может кому пригодится.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.