Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Yesvik

Ветеран сообщества
  
  • Posts

    1,939
  • Joined

  • Last visited

Everything posted by Yesvik

  1. тогда в файле catalog/view/theme/default/template/checkout/shipping_method.twig найти {{ quote.title }} - {{ quote.text }}</label> и заменить на это {% if (quote.code == 'flat.flat') and (quote.cost == 0) %} {{ quote.title }}</label> {% else %} {{ quote.title }} - {{ quote.text }}</label> {% endif %} Держи готовый модификатор flat-shipping-rate.ocmod.zip Если в модуле Фиксированная стоимость доставки указать стоимость равную нулю - будет вот так Только не понятно чем не устраивает бесплатная доставка?
  2. Это ты классно придумал... ошибку в тему запихнуть... Твой класс должен быть в файле admin/model/extension/extended_import.php и объявляться вот так <?php require DIR_APPLICATION . 'model/tool/export_import.php'; class ModelExtensionExtendedImport extends ModelToolExportImport { } Загружаться так: $this->load->model('extension/extended_import'); Использоваться так: $this->model_extension_extended_import->method();
  3. Твой класс наследуется от ModelToolExportImport Перед тем как объявлять свой класс загрузи ModelToolExportImport
  4. Может алиасы дублируются? Или речь не про алиасы?
  5. Ваше время, потраченное на поиск бесплатных решений, стоит дешевле этих модулей?
  6. Вас правильно поняли и правильно ответили... загрузите все фото по FTP и не придётся загружать через файловый менеджер, будете выбирать уже загруженные. Другой вариант - использование модуля импорта... загрузите все фото по FTP, а в файле импорта пропишите какому товару какие фотки
  7. Отключи плагины в Chrome. Начни с плагинов для скачивания видео с Youtube
  8. После того как тема сформулирована, язык образов не так уж очевиден. Знак прост. Катарсис аннигилирует индивидуальный интеллект, при этом буквы А, В, I, О символизируют соответственно общеутвердительное, общеотрицательное, частноутвердительное и частноотрицательное суждения. Филогенез, несмотря на внешние воздействия, неоднозначен. Отношение к современности поразительно. Комплекс философски интегрирует бабувизм. В связи с этим нужно подчеркнуть, что текст транспонирует катарсис, однако интеллект семантически рассматривается как непредвиденный катарсис. Язык образов рефлектирует генезис. Сомнение категорически представляет собой катарсис.
  9. В настройках модуля указать стоимость доставки И будут не нули, а указанная в настройках стоимость
  10. Пару лет назад правил этот модуль, но активно не использовал. Модуль замороченный, но заявленные функции исполняет. Для меня функционала модуля не достаточно, мне проще с 1С.
  11. Задача описана очень обобщённо, но если надо фиксировать что, когда, сколько и по чем пришло/выбыло - есть модуль ADV Products Report Модуль позволяет регистрировать: когда, от какого поставщика, сколько, на какую сумму поступило когда, по какому заказу, сколько, на какую сумму продано В карточке товара вот так выглядит вкладка с движениями товара Вот так выглядит история продаж Для каждого товара можно задать свой алгоритм расчета себестоимости Есть возможность учитывать дополнительные расходы связанные с продажей, можно фиксировать реальную стоимость доставки, расходы связанные с оплатой Модуль позволяет ввести данные по которым будет выполнен ретроспективный расчет показателей для анализа продаж выполненных до установки модуля. К модулю можно докупить отчеты для аналитики в различных разрезах Но всё это баловство... по сравнению с полноценными учетными системами, например 1С.
  12. Ещё есть адепты решений типа: А зачем выпиливать в footer.twig? Скрыть стилями и всё. Я сторонник другого мнения: если заранее известно что вычисления не нужны - их не надо выполнять.
  13. Не проверял, но должно получиться... В файле catalog/controller/product/category.php найти if ($this->config->get('config_review_status')) { $data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url) ); $data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url) ); } заменить на if ($this->config->get('config_review_status')) { $data['sorts'][] = array( 'text' => $this->language->get('text_rating_desc'), 'value' => 'rating-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating-desc&order=DESC' . $url) ); $data['sorts'][] = array( 'text' => $this->language->get('text_rating_asc'), 'value' => 'rating-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating-asc&order=ASC' . $url) ); } В файле catalog/model/catalog/product.php найти $sort_data = array( 'pd.name', 'p.model', 'p.quantity', 'p.price', 'rating', 'p.sort_order', 'p.date_added' ); if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') { $sql .= " ORDER BY LCASE(" . $data['sort'] . ")"; } elseif ($data['sort'] == 'p.price') { $sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)"; } else { $sql .= " ORDER BY " . $data['sort']; } } else { $sql .= " ORDER BY p.sort_order"; } if (isset($data['order']) && ($data['order'] == 'DESC')) { $sql .= " DESC, LCASE(pd.name) DESC"; } else { $sql .= " ASC, LCASE(pd.name) ASC"; } заменить на $sort_data = array( 'pd.name', 'p.model', 'p.quantity', 'p.price', 'rating', 'rating-asc', 'rating-desc', 'p.sort_order', 'p.date_added' ); if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'rating-asc') { $sql .= " ORDER BY rating ASC, (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END) ASC"; } elseif ($data['sort'] == 'rating-desc') { $sql .= " ORDER BY rating DESC, (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END) ASC"; } elseif ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') { $sql .= " ORDER BY LCASE(" . $data['sort'] . ")"; } elseif ($data['sort'] == 'p.price') { $sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)"; } else { $sql .= " ORDER BY " . $data['sort']; } } else { $sql .= " ORDER BY p.sort_order"; } if (isset($data['sort']) && (($data['sort'] == 'rating-asc') || ($data['sort'] == 'rating-desc'))) { } elseif (isset($data['order']) && ($data['order'] == 'DESC')) { $sql .= " DESC, LCASE(pd.name) DESC"; } else { $sql .= " ASC, LCASE(pd.name) ASC"; } Если что не так - завтра поправлю
  14. Похоже восстановили БД из бэкапа... там проблемы не только с image_2, ещё на description_2 ругается
  15. Yesvik

    Footer

    Написал в личку
  16. Это пример что надо оставить в дефолтном контроллере и шаблоне. В другом шаблоне всё может быть иначе... или установлены модификаторы, которые изменяют контроллер и/или шаблон.
  17. Сделал модификатор для копирования макетов, чтобы не мучатся с расстановкой модулей в макете. copy-layout.ocmod.zip Кнопочку нажал, поправил модули и макет готов
  18. В навигации открой Дизайн -> Макеты Найди макет Категория и открой его. Посмотри какие Модули в каком порядке используются в Макете Категории Вернись в список Макетов, создай новый Макет с расположением Модулей как в Макете для всех Категорий и добавь Баннер или Слайдер. Должно получиться как-то так (я добавил Слайдер с главной) Сохрани Макет, перейди в настройки нужной Категории, на вкладку Дизайн. и укажи Макет Сохраняй и смотри что получилось. У меня получилось так. На страницах других Категорий Слайдера нет
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.