Ssilver Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 Здравствуйте, нужно создать модуль возможности комментирования в категориях интернет магазина. ТО есть на странице категории будет форма с комментариями. Выглядеть она должна вот так - http://joxi.ru/l2ZNG0fw6WL62J . Я думаю со скрина все понятно что должно там быть. С левой стороны поля для ввода комментарии, данных. С правой - сами комментарии. Все комментарии которые оставляются - публикуются только после модерации. После того как человек оставил комментарий, нажал на кнопку "оставить комментарий", появляется уведомление что "Ваш комментарий будет опубликован после модерации". В админке должна быть возможность редактировать оставленный комментарий и оценку. Также (правда тут не отрисовано) должна быть возможность оставить ответ администрации, по необходимости. ответ будет ниже под комментарием, как абзац. Цену не пишу, не знаю во сколько может обойтись. Жду обратной связи Спасибо Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 Попадете под бан Google - 100% (в ручную, если заметят или кто "настучит") Наблюдал у пользователей баны за такое (по стучалке конкурентов) Google считает что комментарии могут быть только к записям блога, товарам, отзывы о магазине Остальное переспам seo "оптимизации" Надіслати Поділитися на інших сайтах More sharing options... Ssilver Опубліковано: 27 вересня 2018 Автор Share Опубліковано: 27 вересня 2018 34 минуты назад, markimax сказал: Попадете под бан Google - 100% (в ручную, если заметят или кто "настучит") Наблюдал у пользователей баны за такое (по стучалке конкурентов) Google считает что комментарии могут быть только к записям блога, товарам, отзывы о магазине Остальное переспам seo "оптимизации" Нууу не совсем так). Действительно можно попасть под ручные санкции, только если использовать микроразметку "оценки" на категориях, и то если это категория и там больше одного товара. Хотя, возможно за отзывы тоже банят, если это будет на категории где больше одного товара. У меня немного другая ситуация, у меня категория - это 1 товар, которого можно купить разное количество. То есть 1 товар, разное количество и разная цена соответственно. Товарных позиций далее нету. По сути - у меня категория - это товарная позиция, там придраться нельзя. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 18 минут назад, Ssilver сказал: Нууу не совсем так). Действительно можно попасть под ручные санкции, только если использовать микроразметку "оценки" на категориях, и то если это категория и там больше одного товара. Хотя, возможно за отзывы тоже банят, если это будет на категории где больше одного товара. У меня немного другая ситуация, у меня категория - это 1 товар, которого можно купить разное количество. То есть 1 товар, разное количество и разная цена соответственно. Товарных позиций далее нету. По сути - у меня категория - это товарная позиция, там придраться нельзя. Да несколько другая ситуация, но смотрите сами Если кто настучит - кто его знает как админы Google поведут себя Вообще делали комментарии к категориям через Надіслати Поділитися на інших сайтах More sharing options... optimlab Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 1 час назад, Ssilver сказал: Цену не пишу, не знаю во сколько может обойтись. Жду обратной связи Если Опенкарт 3, то 1400 руб. Если другая версия, то не интересно. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 27 минут назад, Ssilver сказал: По сути - у меня категория - это товарная позиция, там придраться нельзя. Вот демо Отзывы к категории https://oc2.opencartadmin.com/desktops/ Спойлер Надіслати Поділитися на інших сайтах More sharing options... Ssilver Опубліковано: 27 вересня 2018 Автор Share Опубліковано: 27 вересня 2018 2 часа назад, optimlab сказал: Если Опенкарт 3, то 1400 руб. Если другая версия, то не интересно. Version 2.3.0.2 Надіслати Поділитися на інших сайтах More sharing options... optimlab Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 1 час назад, Ssilver сказал: Version 2.3.0.2 Сорри, со старьем не работаю. Ищите олдскульного разраба.. Там работы на полтора часа и это будет чисто модификатор OCMOD с install.sql для создания колонки в таблице отзывов для категорий. Успехов! Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 12 минут назад, optimlab сказал: Сорри, со старьем не работаю. Ищите олдскульного разраба.. Че так рано списал 2.3? Надіслати Поділитися на інших сайтах More sharing options... optimlab Опубліковано: 28 вересня 2018 Share Опубліковано: 28 вересня 2018 11 часов назад, AWARO сказал: Че так рано списал 2.3? Туда ему и дорога! Подробнее тут: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 29 вересня 2018 Share Опубліковано: 29 вересня 2018 Без комментариев opencart 3 и twig Вот что создает twig из самого простого шаблона (напоминать какие шаблоны в opencart я думаю не надо) {% extends "base.html" %} {% block title %}Серия романов о Гарри Поттере{% endblock %} {% block content %} <h1>Серия романов о Гарри Поттере</h1> <div id="books"> {% for book in books %} <div class="book"> <strong>{{book.number}}</strong>. "<em>{{book.title}}"</em> - {{book.date}} </div> {% endfor %} </div> {% endblock %} И занавес Спойлер <?php /* list.html */ class __TwigTemplate_0272d28026bf48193b3efa17cc06cc64 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 5 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 7 public function block_content($context, array $blocks = array()) { // line 8 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 11 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 12 echo " <div class=\"book\"> \t<strong>"; // line 13 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 16 echo "</div> "; } public function getTemplateName() { return "list.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 16, 51 => 13, 48 => 12, 43 => 11, 38 => 8, 35 => 7, 29 => 5,); } } <?php /* base.html */ class __TwigTemplate_8944b57466f08564caa53a1988261ae0 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = false; $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doDisplay(array $context, array $blocks = array()) { // line 1 echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"ru\"> <head> <title>"; // line 4 $this->displayBlock('title', $context, $blocks); echo "</title> <meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"/> </head> <body> <div id=\"content\"> "; // line 10 $this->displayBlock('content', $context, $blocks); // line 12 echo "</div> </body> </html>"; } // line 4 public function block_title($context, array $blocks = array()) { } // line 10 public function block_content($context, array $blocks = array()) { // line 11 echo " "; } public function getTemplateName() { return "base.html"; } public function getDebugInfo() { return array ( 52 => 11, 49 => 10, 44 => 4, 37 => 12, 26 => 4, 21 => 1, 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 10, 29 => 3,); } } <?php /* books.html */ class __TwigTemplate_b8cee45188afdb4e6ad9c60dbacb54c3 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 3 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 5 public function block_content($context, array $blocks = array()) { // line 6 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 9 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 10 echo " <div class=\"book\"> \t<strong>"; // line 11 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 14 echo "</div> "; } public function getTemplateName() { return "books.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 5, 29 => 3,); } } Я думаю о производительности даже заикаться не надо Отличие 2.3 от 3.0 - это фактически twig Других существенных отличий, кроме мультиязычных ЧПУ которые работают кстати через ж.. нету Зато добавлено куча костылей прямо влияющие на тормоза, резко увеличилось количество запросов и т п Перед тем как что то громогласно заявлять нужно знать хотя бы основы мат. части Кстати Даниэль уже плакался на форуме что внедрение twig было вынужденной ошибкой 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Ssilver Опубліковано: 11 жовтня 2018 Автор Share Опубліковано: 11 жовтня 2018 Здравствуйте, вновь актуально. Нужен человек на создание такого модуля. Исполнитель который взялся за работу - не выходит на связь Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Послуги Програмування, створення модулів, зміна функціональності Модуль "комментарии в категориях" Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Ssilver Опубліковано: 27 вересня 2018 Автор Share Опубліковано: 27 вересня 2018 34 минуты назад, markimax сказал: Попадете под бан Google - 100% (в ручную, если заметят или кто "настучит") Наблюдал у пользователей баны за такое (по стучалке конкурентов) Google считает что комментарии могут быть только к записям блога, товарам, отзывы о магазине Остальное переспам seo "оптимизации" Нууу не совсем так). Действительно можно попасть под ручные санкции, только если использовать микроразметку "оценки" на категориях, и то если это категория и там больше одного товара. Хотя, возможно за отзывы тоже банят, если это будет на категории где больше одного товара. У меня немного другая ситуация, у меня категория - это 1 товар, которого можно купить разное количество. То есть 1 товар, разное количество и разная цена соответственно. Товарных позиций далее нету. По сути - у меня категория - это товарная позиция, там придраться нельзя. Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 18 минут назад, Ssilver сказал: Нууу не совсем так). Действительно можно попасть под ручные санкции, только если использовать микроразметку "оценки" на категориях, и то если это категория и там больше одного товара. Хотя, возможно за отзывы тоже банят, если это будет на категории где больше одного товара. У меня немного другая ситуация, у меня категория - это 1 товар, которого можно купить разное количество. То есть 1 товар, разное количество и разная цена соответственно. Товарных позиций далее нету. По сути - у меня категория - это товарная позиция, там придраться нельзя. Да несколько другая ситуация, но смотрите сами Если кто настучит - кто его знает как админы Google поведут себя Вообще делали комментарии к категориям через Надіслати Поділитися на інших сайтах More sharing options... optimlab Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 1 час назад, Ssilver сказал: Цену не пишу, не знаю во сколько может обойтись. Жду обратной связи Если Опенкарт 3, то 1400 руб. Если другая версия, то не интересно. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 27 минут назад, Ssilver сказал: По сути - у меня категория - это товарная позиция, там придраться нельзя. Вот демо Отзывы к категории https://oc2.opencartadmin.com/desktops/ Спойлер Надіслати Поділитися на інших сайтах More sharing options... Ssilver Опубліковано: 27 вересня 2018 Автор Share Опубліковано: 27 вересня 2018 2 часа назад, optimlab сказал: Если Опенкарт 3, то 1400 руб. Если другая версия, то не интересно. Version 2.3.0.2 Надіслати Поділитися на інших сайтах More sharing options... optimlab Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 1 час назад, Ssilver сказал: Version 2.3.0.2 Сорри, со старьем не работаю. Ищите олдскульного разраба.. Там работы на полтора часа и это будет чисто модификатор OCMOD с install.sql для создания колонки в таблице отзывов для категорий. Успехов! Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 12 минут назад, optimlab сказал: Сорри, со старьем не работаю. Ищите олдскульного разраба.. Че так рано списал 2.3? Надіслати Поділитися на інших сайтах More sharing options... optimlab Опубліковано: 28 вересня 2018 Share Опубліковано: 28 вересня 2018 11 часов назад, AWARO сказал: Че так рано списал 2.3? Туда ему и дорога! Подробнее тут: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 29 вересня 2018 Share Опубліковано: 29 вересня 2018 Без комментариев opencart 3 и twig Вот что создает twig из самого простого шаблона (напоминать какие шаблоны в opencart я думаю не надо) {% extends "base.html" %} {% block title %}Серия романов о Гарри Поттере{% endblock %} {% block content %} <h1>Серия романов о Гарри Поттере</h1> <div id="books"> {% for book in books %} <div class="book"> <strong>{{book.number}}</strong>. "<em>{{book.title}}"</em> - {{book.date}} </div> {% endfor %} </div> {% endblock %} И занавес Спойлер <?php /* list.html */ class __TwigTemplate_0272d28026bf48193b3efa17cc06cc64 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 5 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 7 public function block_content($context, array $blocks = array()) { // line 8 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 11 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 12 echo " <div class=\"book\"> \t<strong>"; // line 13 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 16 echo "</div> "; } public function getTemplateName() { return "list.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 16, 51 => 13, 48 => 12, 43 => 11, 38 => 8, 35 => 7, 29 => 5,); } } <?php /* base.html */ class __TwigTemplate_8944b57466f08564caa53a1988261ae0 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = false; $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doDisplay(array $context, array $blocks = array()) { // line 1 echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"ru\"> <head> <title>"; // line 4 $this->displayBlock('title', $context, $blocks); echo "</title> <meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"/> </head> <body> <div id=\"content\"> "; // line 10 $this->displayBlock('content', $context, $blocks); // line 12 echo "</div> </body> </html>"; } // line 4 public function block_title($context, array $blocks = array()) { } // line 10 public function block_content($context, array $blocks = array()) { // line 11 echo " "; } public function getTemplateName() { return "base.html"; } public function getDebugInfo() { return array ( 52 => 11, 49 => 10, 44 => 4, 37 => 12, 26 => 4, 21 => 1, 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 10, 29 => 3,); } } <?php /* books.html */ class __TwigTemplate_b8cee45188afdb4e6ad9c60dbacb54c3 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 3 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 5 public function block_content($context, array $blocks = array()) { // line 6 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 9 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 10 echo " <div class=\"book\"> \t<strong>"; // line 11 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 14 echo "</div> "; } public function getTemplateName() { return "books.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 5, 29 => 3,); } } Я думаю о производительности даже заикаться не надо Отличие 2.3 от 3.0 - это фактически twig Других существенных отличий, кроме мультиязычных ЧПУ которые работают кстати через ж.. нету Зато добавлено куча костылей прямо влияющие на тормоза, резко увеличилось количество запросов и т п Перед тем как что то громогласно заявлять нужно знать хотя бы основы мат. части Кстати Даниэль уже плакался на форуме что внедрение twig было вынужденной ошибкой 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Ssilver Опубліковано: 11 жовтня 2018 Автор Share Опубліковано: 11 жовтня 2018 Здравствуйте, вновь актуально. Нужен человек на создание такого модуля. Исполнитель который взялся за работу - не выходит на связь Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Послуги Програмування, створення модулів, зміна функціональності Модуль "комментарии в категориях" Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
optimlab Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 1 час назад, Ssilver сказал: Цену не пишу, не знаю во сколько может обойтись. Жду обратной связи Если Опенкарт 3, то 1400 руб. Если другая версия, то не интересно. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 27 минут назад, Ssilver сказал: По сути - у меня категория - это товарная позиция, там придраться нельзя. Вот демо Отзывы к категории https://oc2.opencartadmin.com/desktops/ Спойлер Надіслати Поділитися на інших сайтах More sharing options... Ssilver Опубліковано: 27 вересня 2018 Автор Share Опубліковано: 27 вересня 2018 2 часа назад, optimlab сказал: Если Опенкарт 3, то 1400 руб. Если другая версия, то не интересно. Version 2.3.0.2 Надіслати Поділитися на інших сайтах More sharing options... optimlab Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 1 час назад, Ssilver сказал: Version 2.3.0.2 Сорри, со старьем не работаю. Ищите олдскульного разраба.. Там работы на полтора часа и это будет чисто модификатор OCMOD с install.sql для создания колонки в таблице отзывов для категорий. Успехов! Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 12 минут назад, optimlab сказал: Сорри, со старьем не работаю. Ищите олдскульного разраба.. Че так рано списал 2.3? Надіслати Поділитися на інших сайтах More sharing options... optimlab Опубліковано: 28 вересня 2018 Share Опубліковано: 28 вересня 2018 11 часов назад, AWARO сказал: Че так рано списал 2.3? Туда ему и дорога! Подробнее тут: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 29 вересня 2018 Share Опубліковано: 29 вересня 2018 Без комментариев opencart 3 и twig Вот что создает twig из самого простого шаблона (напоминать какие шаблоны в opencart я думаю не надо) {% extends "base.html" %} {% block title %}Серия романов о Гарри Поттере{% endblock %} {% block content %} <h1>Серия романов о Гарри Поттере</h1> <div id="books"> {% for book in books %} <div class="book"> <strong>{{book.number}}</strong>. "<em>{{book.title}}"</em> - {{book.date}} </div> {% endfor %} </div> {% endblock %} И занавес Спойлер <?php /* list.html */ class __TwigTemplate_0272d28026bf48193b3efa17cc06cc64 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 5 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 7 public function block_content($context, array $blocks = array()) { // line 8 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 11 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 12 echo " <div class=\"book\"> \t<strong>"; // line 13 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 16 echo "</div> "; } public function getTemplateName() { return "list.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 16, 51 => 13, 48 => 12, 43 => 11, 38 => 8, 35 => 7, 29 => 5,); } } <?php /* base.html */ class __TwigTemplate_8944b57466f08564caa53a1988261ae0 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = false; $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doDisplay(array $context, array $blocks = array()) { // line 1 echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"ru\"> <head> <title>"; // line 4 $this->displayBlock('title', $context, $blocks); echo "</title> <meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"/> </head> <body> <div id=\"content\"> "; // line 10 $this->displayBlock('content', $context, $blocks); // line 12 echo "</div> </body> </html>"; } // line 4 public function block_title($context, array $blocks = array()) { } // line 10 public function block_content($context, array $blocks = array()) { // line 11 echo " "; } public function getTemplateName() { return "base.html"; } public function getDebugInfo() { return array ( 52 => 11, 49 => 10, 44 => 4, 37 => 12, 26 => 4, 21 => 1, 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 10, 29 => 3,); } } <?php /* books.html */ class __TwigTemplate_b8cee45188afdb4e6ad9c60dbacb54c3 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 3 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 5 public function block_content($context, array $blocks = array()) { // line 6 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 9 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 10 echo " <div class=\"book\"> \t<strong>"; // line 11 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 14 echo "</div> "; } public function getTemplateName() { return "books.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 5, 29 => 3,); } } Я думаю о производительности даже заикаться не надо Отличие 2.3 от 3.0 - это фактически twig Других существенных отличий, кроме мультиязычных ЧПУ которые работают кстати через ж.. нету Зато добавлено куча костылей прямо влияющие на тормоза, резко увеличилось количество запросов и т п Перед тем как что то громогласно заявлять нужно знать хотя бы основы мат. части Кстати Даниэль уже плакался на форуме что внедрение twig было вынужденной ошибкой 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Ssilver Опубліковано: 11 жовтня 2018 Автор Share Опубліковано: 11 жовтня 2018 Здравствуйте, вновь актуально. Нужен человек на создание такого модуля. Исполнитель который взялся за работу - не выходит на связь Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Послуги Програмування, створення модулів, зміна функціональності Модуль "комментарии в категориях" Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 27 минут назад, Ssilver сказал: По сути - у меня категория - это товарная позиция, там придраться нельзя. Вот демо Отзывы к категории https://oc2.opencartadmin.com/desktops/ Спойлер Надіслати Поділитися на інших сайтах More sharing options... Ssilver Опубліковано: 27 вересня 2018 Автор Share Опубліковано: 27 вересня 2018 2 часа назад, optimlab сказал: Если Опенкарт 3, то 1400 руб. Если другая версия, то не интересно. Version 2.3.0.2 Надіслати Поділитися на інших сайтах More sharing options... optimlab Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 1 час назад, Ssilver сказал: Version 2.3.0.2 Сорри, со старьем не работаю. Ищите олдскульного разраба.. Там работы на полтора часа и это будет чисто модификатор OCMOD с install.sql для создания колонки в таблице отзывов для категорий. Успехов! Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 12 минут назад, optimlab сказал: Сорри, со старьем не работаю. Ищите олдскульного разраба.. Че так рано списал 2.3? Надіслати Поділитися на інших сайтах More sharing options... optimlab Опубліковано: 28 вересня 2018 Share Опубліковано: 28 вересня 2018 11 часов назад, AWARO сказал: Че так рано списал 2.3? Туда ему и дорога! Подробнее тут: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 29 вересня 2018 Share Опубліковано: 29 вересня 2018 Без комментариев opencart 3 и twig Вот что создает twig из самого простого шаблона (напоминать какие шаблоны в opencart я думаю не надо) {% extends "base.html" %} {% block title %}Серия романов о Гарри Поттере{% endblock %} {% block content %} <h1>Серия романов о Гарри Поттере</h1> <div id="books"> {% for book in books %} <div class="book"> <strong>{{book.number}}</strong>. "<em>{{book.title}}"</em> - {{book.date}} </div> {% endfor %} </div> {% endblock %} И занавес Спойлер <?php /* list.html */ class __TwigTemplate_0272d28026bf48193b3efa17cc06cc64 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 5 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 7 public function block_content($context, array $blocks = array()) { // line 8 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 11 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 12 echo " <div class=\"book\"> \t<strong>"; // line 13 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 16 echo "</div> "; } public function getTemplateName() { return "list.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 16, 51 => 13, 48 => 12, 43 => 11, 38 => 8, 35 => 7, 29 => 5,); } } <?php /* base.html */ class __TwigTemplate_8944b57466f08564caa53a1988261ae0 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = false; $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doDisplay(array $context, array $blocks = array()) { // line 1 echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"ru\"> <head> <title>"; // line 4 $this->displayBlock('title', $context, $blocks); echo "</title> <meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"/> </head> <body> <div id=\"content\"> "; // line 10 $this->displayBlock('content', $context, $blocks); // line 12 echo "</div> </body> </html>"; } // line 4 public function block_title($context, array $blocks = array()) { } // line 10 public function block_content($context, array $blocks = array()) { // line 11 echo " "; } public function getTemplateName() { return "base.html"; } public function getDebugInfo() { return array ( 52 => 11, 49 => 10, 44 => 4, 37 => 12, 26 => 4, 21 => 1, 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 10, 29 => 3,); } } <?php /* books.html */ class __TwigTemplate_b8cee45188afdb4e6ad9c60dbacb54c3 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 3 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 5 public function block_content($context, array $blocks = array()) { // line 6 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 9 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 10 echo " <div class=\"book\"> \t<strong>"; // line 11 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 14 echo "</div> "; } public function getTemplateName() { return "books.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 5, 29 => 3,); } } Я думаю о производительности даже заикаться не надо Отличие 2.3 от 3.0 - это фактически twig Других существенных отличий, кроме мультиязычных ЧПУ которые работают кстати через ж.. нету Зато добавлено куча костылей прямо влияющие на тормоза, резко увеличилось количество запросов и т п Перед тем как что то громогласно заявлять нужно знать хотя бы основы мат. части Кстати Даниэль уже плакался на форуме что внедрение twig было вынужденной ошибкой 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Ssilver Опубліковано: 11 жовтня 2018 Автор Share Опубліковано: 11 жовтня 2018 Здравствуйте, вновь актуально. Нужен человек на создание такого модуля. Исполнитель который взялся за работу - не выходит на связь Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Послуги Програмування, створення модулів, зміна функціональності Модуль "комментарии в категориях" Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich Промо банери в категоріях товарів Автор: IHOR1989 Trend - адаптивний універсальний шаблон Автор: DSV
Ssilver Опубліковано: 27 вересня 2018 Автор Share Опубліковано: 27 вересня 2018 2 часа назад, optimlab сказал: Если Опенкарт 3, то 1400 руб. Если другая версия, то не интересно. Version 2.3.0.2 Надіслати Поділитися на інших сайтах More sharing options...
optimlab Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 1 час назад, Ssilver сказал: Version 2.3.0.2 Сорри, со старьем не работаю. Ищите олдскульного разраба.. Там работы на полтора часа и это будет чисто модификатор OCMOD с install.sql для создания колонки в таблице отзывов для категорий. Успехов! Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 12 минут назад, optimlab сказал: Сорри, со старьем не работаю. Ищите олдскульного разраба.. Че так рано списал 2.3? Надіслати Поділитися на інших сайтах More sharing options... optimlab Опубліковано: 28 вересня 2018 Share Опубліковано: 28 вересня 2018 11 часов назад, AWARO сказал: Че так рано списал 2.3? Туда ему и дорога! Подробнее тут: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 29 вересня 2018 Share Опубліковано: 29 вересня 2018 Без комментариев opencart 3 и twig Вот что создает twig из самого простого шаблона (напоминать какие шаблоны в opencart я думаю не надо) {% extends "base.html" %} {% block title %}Серия романов о Гарри Поттере{% endblock %} {% block content %} <h1>Серия романов о Гарри Поттере</h1> <div id="books"> {% for book in books %} <div class="book"> <strong>{{book.number}}</strong>. "<em>{{book.title}}"</em> - {{book.date}} </div> {% endfor %} </div> {% endblock %} И занавес Спойлер <?php /* list.html */ class __TwigTemplate_0272d28026bf48193b3efa17cc06cc64 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 5 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 7 public function block_content($context, array $blocks = array()) { // line 8 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 11 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 12 echo " <div class=\"book\"> \t<strong>"; // line 13 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 16 echo "</div> "; } public function getTemplateName() { return "list.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 16, 51 => 13, 48 => 12, 43 => 11, 38 => 8, 35 => 7, 29 => 5,); } } <?php /* base.html */ class __TwigTemplate_8944b57466f08564caa53a1988261ae0 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = false; $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doDisplay(array $context, array $blocks = array()) { // line 1 echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"ru\"> <head> <title>"; // line 4 $this->displayBlock('title', $context, $blocks); echo "</title> <meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"/> </head> <body> <div id=\"content\"> "; // line 10 $this->displayBlock('content', $context, $blocks); // line 12 echo "</div> </body> </html>"; } // line 4 public function block_title($context, array $blocks = array()) { } // line 10 public function block_content($context, array $blocks = array()) { // line 11 echo " "; } public function getTemplateName() { return "base.html"; } public function getDebugInfo() { return array ( 52 => 11, 49 => 10, 44 => 4, 37 => 12, 26 => 4, 21 => 1, 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 10, 29 => 3,); } } <?php /* books.html */ class __TwigTemplate_b8cee45188afdb4e6ad9c60dbacb54c3 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 3 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 5 public function block_content($context, array $blocks = array()) { // line 6 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 9 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 10 echo " <div class=\"book\"> \t<strong>"; // line 11 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 14 echo "</div> "; } public function getTemplateName() { return "books.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 5, 29 => 3,); } } Я думаю о производительности даже заикаться не надо Отличие 2.3 от 3.0 - это фактически twig Других существенных отличий, кроме мультиязычных ЧПУ которые работают кстати через ж.. нету Зато добавлено куча костылей прямо влияющие на тормоза, резко увеличилось количество запросов и т п Перед тем как что то громогласно заявлять нужно знать хотя бы основы мат. части Кстати Даниэль уже плакался на форуме что внедрение twig было вынужденной ошибкой 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Ssilver Опубліковано: 11 жовтня 2018 Автор Share Опубліковано: 11 жовтня 2018 Здравствуйте, вновь актуально. Нужен человек на создание такого модуля. Исполнитель который взялся за работу - не выходит на связь Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Послуги Програмування, створення модулів, зміна функціональності Модуль "комментарии в категориях"
HyperLabTeam Опубліковано: 27 вересня 2018 Share Опубліковано: 27 вересня 2018 12 минут назад, optimlab сказал: Сорри, со старьем не работаю. Ищите олдскульного разраба.. Че так рано списал 2.3? Надіслати Поділитися на інших сайтах More sharing options...
optimlab Опубліковано: 28 вересня 2018 Share Опубліковано: 28 вересня 2018 11 часов назад, AWARO сказал: Че так рано списал 2.3? Туда ему и дорога! Подробнее тут: Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 29 вересня 2018 Share Опубліковано: 29 вересня 2018 Без комментариев opencart 3 и twig Вот что создает twig из самого простого шаблона (напоминать какие шаблоны в opencart я думаю не надо) {% extends "base.html" %} {% block title %}Серия романов о Гарри Поттере{% endblock %} {% block content %} <h1>Серия романов о Гарри Поттере</h1> <div id="books"> {% for book in books %} <div class="book"> <strong>{{book.number}}</strong>. "<em>{{book.title}}"</em> - {{book.date}} </div> {% endfor %} </div> {% endblock %} И занавес Спойлер <?php /* list.html */ class __TwigTemplate_0272d28026bf48193b3efa17cc06cc64 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 5 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 7 public function block_content($context, array $blocks = array()) { // line 8 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 11 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 12 echo " <div class=\"book\"> \t<strong>"; // line 13 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 16 echo "</div> "; } public function getTemplateName() { return "list.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 16, 51 => 13, 48 => 12, 43 => 11, 38 => 8, 35 => 7, 29 => 5,); } } <?php /* base.html */ class __TwigTemplate_8944b57466f08564caa53a1988261ae0 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = false; $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doDisplay(array $context, array $blocks = array()) { // line 1 echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"ru\"> <head> <title>"; // line 4 $this->displayBlock('title', $context, $blocks); echo "</title> <meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"/> </head> <body> <div id=\"content\"> "; // line 10 $this->displayBlock('content', $context, $blocks); // line 12 echo "</div> </body> </html>"; } // line 4 public function block_title($context, array $blocks = array()) { } // line 10 public function block_content($context, array $blocks = array()) { // line 11 echo " "; } public function getTemplateName() { return "base.html"; } public function getDebugInfo() { return array ( 52 => 11, 49 => 10, 44 => 4, 37 => 12, 26 => 4, 21 => 1, 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 10, 29 => 3,); } } <?php /* books.html */ class __TwigTemplate_b8cee45188afdb4e6ad9c60dbacb54c3 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 3 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 5 public function block_content($context, array $blocks = array()) { // line 6 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 9 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 10 echo " <div class=\"book\"> \t<strong>"; // line 11 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 14 echo "</div> "; } public function getTemplateName() { return "books.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 5, 29 => 3,); } } Я думаю о производительности даже заикаться не надо Отличие 2.3 от 3.0 - это фактически twig Других существенных отличий, кроме мультиязычных ЧПУ которые работают кстати через ж.. нету Зато добавлено куча костылей прямо влияющие на тормоза, резко увеличилось количество запросов и т п Перед тем как что то громогласно заявлять нужно знать хотя бы основы мат. части Кстати Даниэль уже плакался на форуме что внедрение twig было вынужденной ошибкой 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Ssilver Опубліковано: 11 жовтня 2018 Автор Share Опубліковано: 11 жовтня 2018 Здравствуйте, вновь актуально. Нужен человек на создание такого модуля. Исполнитель который взялся за работу - не выходит на связь Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
markimax Опубліковано: 29 вересня 2018 Share Опубліковано: 29 вересня 2018 Без комментариев opencart 3 и twig Вот что создает twig из самого простого шаблона (напоминать какие шаблоны в opencart я думаю не надо) {% extends "base.html" %} {% block title %}Серия романов о Гарри Поттере{% endblock %} {% block content %} <h1>Серия романов о Гарри Поттере</h1> <div id="books"> {% for book in books %} <div class="book"> <strong>{{book.number}}</strong>. "<em>{{book.title}}"</em> - {{book.date}} </div> {% endfor %} </div> {% endblock %} И занавес Спойлер <?php /* list.html */ class __TwigTemplate_0272d28026bf48193b3efa17cc06cc64 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 5 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 7 public function block_content($context, array $blocks = array()) { // line 8 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 11 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 12 echo " <div class=\"book\"> \t<strong>"; // line 13 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 16 echo "</div> "; } public function getTemplateName() { return "list.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 16, 51 => 13, 48 => 12, 43 => 11, 38 => 8, 35 => 7, 29 => 5,); } } <?php /* base.html */ class __TwigTemplate_8944b57466f08564caa53a1988261ae0 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = false; $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doDisplay(array $context, array $blocks = array()) { // line 1 echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"ru\"> <head> <title>"; // line 4 $this->displayBlock('title', $context, $blocks); echo "</title> <meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"/> </head> <body> <div id=\"content\"> "; // line 10 $this->displayBlock('content', $context, $blocks); // line 12 echo "</div> </body> </html>"; } // line 4 public function block_title($context, array $blocks = array()) { } // line 10 public function block_content($context, array $blocks = array()) { // line 11 echo " "; } public function getTemplateName() { return "base.html"; } public function getDebugInfo() { return array ( 52 => 11, 49 => 10, 44 => 4, 37 => 12, 26 => 4, 21 => 1, 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 10, 29 => 3,); } } <?php /* books.html */ class __TwigTemplate_b8cee45188afdb4e6ad9c60dbacb54c3 extends Twig_Template { public function __construct(Twig_Environment $env) { parent::__construct($env); $this->parent = $this->env->loadTemplate("base.html"); $this->blocks = array( 'title' => array($this, 'block_title'), 'content' => array($this, 'block_content'), ); } protected function doGetParent(array $context) { return "base.html"; } protected function doDisplay(array $context, array $blocks = array()) { $this->parent->display($context, array_merge($this->blocks, $blocks)); } // line 3 public function block_title($context, array $blocks = array()) { echo "Серия романов о Гарри Поттере"; } // line 5 public function block_content($context, array $blocks = array()) { // line 6 echo "<h1>Серия романов о Гарри Поттере</h1> <div id=\"books\"> "; // line 9 if (isset($context["books"])) { $_books_ = $context["books"]; } else { $_books_ = null; } $context['_parent'] = (array) $context; $context['_seq'] = twig_ensure_traversable($_books_); foreach ($context['_seq'] as $context["_key"] => $context["book"]) { // line 10 echo " <div class=\"book\"> \t<strong>"; // line 11 if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "number"), "html", null, true); echo "</strong>. \"<em>"; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "title"), "html", null, true); echo "\"</em> - "; if (isset($context["book"])) { $_book_ = $context["book"]; } else { $_book_ = null; } echo twig_escape_filter($this->env, $this->getAttribute($_book_, "date"), "html", null, true); echo " </div> "; } $_parent = $context['_parent']; unset($context['_seq'], $context['_iterated'], $context['_key'], $context['book'], $context['_parent'], $context['loop']); $context = array_merge($_parent, array_intersect_key($context, $_parent)); // line 14 echo "</div> "; } public function getTemplateName() { return "books.html"; } public function isTraitable() { return false; } public function getDebugInfo() { return array ( 67 => 14, 51 => 11, 48 => 10, 43 => 9, 38 => 6, 35 => 5, 29 => 3,); } } Я думаю о производительности даже заикаться не надо Отличие 2.3 от 3.0 - это фактически twig Других существенных отличий, кроме мультиязычных ЧПУ которые работают кстати через ж.. нету Зато добавлено куча костылей прямо влияющие на тормоза, резко увеличилось количество запросов и т п Перед тем как что то громогласно заявлять нужно знать хотя бы основы мат. части Кстати Даниэль уже плакался на форуме что внедрение twig было вынужденной ошибкой 1 Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... Ssilver Опубліковано: 11 жовтня 2018 Автор Share Опубліковано: 11 жовтня 2018 Здравствуйте, вновь актуально. Нужен человек на создание такого модуля. Исполнитель который взялся за работу - не выходит на связь Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Ssilver Опубліковано: 11 жовтня 2018 Автор Share Опубліковано: 11 жовтня 2018 Здравствуйте, вновь актуально. Нужен человек на создание такого модуля. Исполнитель который взялся за работу - не выходит на связь Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts