Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

ocdev_pro

Користувачі
  • Публікації

    2 022
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем ocdev_pro

  1. Товары из категорий Opencart 1.5-2.x


    Товары из категорий Opencart 1.5-2.x


    Модуль выводит товары из выбранной категории на любую страницу (схему) на вашем сайте

    Возможности:

    • Выводит товары из выбранной категории
    • Можно задать пользовательский заголовок
    • Можно вкл/откл отображение в виде карусели (только версии 2.0)

    Установка:

    • заливаем содержимое Архива (папки upload в 1.5) в корень сайта
    • выставляем права на изменение модуля
    • Настраиваете под себя и пользуемся.

    Тестировался на Opencart 2.x 2.1, ocStore 2. Opencart 2.3

    В комплект входит версия для Opencart 1.5.x, Opencart 2.0 - 2.3

     

     

    Также рекомендую:

    Смс уведомления для Opencart

    Просмотренные товары

    Таблица размеров, размерная сетка

    Все товары магазина (Каталог товаров)

    Акционные товары, модуль с таймером

    Редактор изображений Image Cropper

     


    • Автор
    • долучення
      01.03.14
    • Категорія
    • Системные требования
    • Метод активации
      Автоматическая активация
    • Ioncube Loader
      Нет
    • ocStore
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3
    • OpenCart.Pro, ocShop
      OcShop 1.5.6.4.х
    • Звернення до сервера розробника
      Нет

     

  2. Задача не раз подымалась - "Как сделать свой шаблон для категорий?"

    И вот тоже столкнулся с такой штукой, но все что пишут в "интернетах" не подходит, так как по тем инструкциям можно назначить шаблон только для категории с определенным ID.
    Я решил сделать все по-другому. Может быть не совсем правильно, но все же думаю идея заслуживает внимания.
     

    И так, нам надо вывести категорию (или несколько категорий) с другим шаблоном. Для этого я решил использовать схемы вывода.

    Создаем новую схему  - Система - Дизайн - Схемы   - Назовем ее "Подкатегория" и id у нее - '12'

    В админке у нужной категории на вкладке "Дизайн" выбираете созданную схему "Под категория"

     

    Теперь в папке с шаблоном создаете шаблон для вывода вашей "особенной" категории к примеру catalog/view/theme/.../product/subcategory.tpl - содержимое можно взять с оригинала category.tpl (и изменить под себя)

     

    Теперь в контролере категорий - 

    catalog/controller/product/category.php

    Задаем определение схемы отображения:

    после 10 строки $this->load->model('tool/image'); 

     

    добавляем

    if ('product/category' && isset($this->request->get['path'])) {
    $path = explode('_', (string)$this->request->get['path']);
    $this->data['layout_id'] = $this->model_catalog_category->getCategoryLayoutId(end($path)); 
    }

    дальше находим примерно 405 строка (в версии 1.5.4.1 - 350 строка)

    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {$this->template = $this->config->get('config_template') . '/template/product/category.tpl';
    } else {
    $this->template = 'default/template/product/category.tpl';
    }

    И заменяем на

    if ($this->data['layout_id'] == 12) {$this->template = $this->config->get('config_template') . '/template/product/subcategory.tpl';
    } elseif (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
    $this->template = $this->config->get('config_template') . '/template/product/category.tpl';
    } else {
    $this->template = 'default/template/product/category.tpl';
    } 

    где 12 это id вашей схемы "Подкатегория", а subcategory.tpl ваш файл с шаблоном вывода категории

     

    Все теперь шаблон для вашей категории будет браться из файла subcategory.tpl

    Аналогично можно сделать и для информационных страниц!!!

     

    Не забудьте, что модули тоже придется вывести в схему "Подкатегория"

  3. Плюсанул за старательность но не проще ли добавить 2 строки ? одну в контроллер вторую в тпл ? по аналогии как это сделано с корзиной ?

    В том, то и дело, что например слайдшоу или скажем модуль кастомного меню, ну никак не хочет работать. Сам пробовал 2мя строчками, по аналогии с корзиной, но начали выскакивать ошибки типа undefine index $menu_id и так далее. Поэтому решил придумать вот такой велосипед))

    (Для модулей у которых сложный функционал или если есть модель, вообще идеально подойдет мое решение)

    • +1 1
  4. В очередной раз столкнулся с такой тривиальной задачей как - вывести в шапке сайта модуль (не в позицию content_top).

    Раньше приходилось создавать отдельную позицию, но это относительно не удобно. Нужно создавать новые файлы и именно в header.tpl все равно вывода нет.

     

    Копаясь в коде решил сделать свой "велосипед", может кому пригодится.

    Что дает:

    - вывод любого модуля в шапку или в подвал (именно в header.tpl/footer.tpl)

    - вывод на всех страницах без создания новых схем.

     

    Начнем.
    1.Открываем catalog/controller/common/header.php

    перед строкой 

    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) {

    Добавляем код который отвечает за вывод модулей в позиции header

    $layout_id = 0;
    
    if (!$layout_id) {
    $layout_id = $this->model_design_layout->getLayout($route);
    }
    if (!$layout_id) {
    $layout_id = $this->config->get('config_layout_id');
    }
    
    $module_data = array();
    
    $this->load->model('setting/extension');
    $extensions = $this->model_setting_extension->getExtensions('module'); 
    foreach ($extensions as $extension) {
    $modules = $this->config->get($extension['code'] . '_module');
    if ($modules) {
    foreach ($modules as $module) {
    if ($module['layout_id'] == $layout_id && $module['position'] == 'header' && $module['status']) {
    $module_data[] = array(
    'code'       => $extension['code'],
    'setting'    => $module,
    'sort_order' => $module['sort_order']
    ); 
    }
    }
    }
    }
    
    $sort_order = array(); 
    foreach ($module_data as $key => $value) {
           $sort_order[$key] = $value['sort_order'];
         }
    
    array_multisort($sort_order, SORT_ASC, $module_data);
    
    $this->data['modules'] = array();
    
    foreach ($module_data as $module) {
    $module = $this->getChild('module/' . $module['code'], $module['setting']);
    if ($module) {
    $this->data['modules'][] = $module;
    }
    }

    2. В шаблоне вывода catalog/view/theme/default/common/header.tpl добавляем код для выводя модулей

    <?php foreach ($modules as $module) { ?>
    <?php echo $module; ?>
    <?php } ?>

    ...можно обернуть в div блок

    Позиция header у нас теперь существует, осталось добавить информацию для выводимого модуля о позиции header
    для этого открываем файл вывода вашего модуля в админке admin/view/template/module/your_module.tpl

    и после строчек 

     <option value="column_right"><?php echo $text_column_right; ?></option>
     <?php } ?>

    добавляем

     <?php if ($module['position'] == 'header') { ?> 
     <option value="header" selected="selected"><?php echo $text_header; ?></option>
     <?php } else { ?>
     <option value="header"><?php echo $text_header; ?></option>
     <?php } ?>

    и ниже в этом же файле после

    html += '      <option value="column_right"><?php echo $text_column_right; ?></option>';

    добавляем

    html += '      <option value="header"><?php echo $text_header; ?></option>';

    3. В контролере модуля admin/controller/module/your_module.php

    после

    $this->data['text_column_right'] = $this->language->get('text_column_right');
    добавляем
    $this->data['text_header'] = $this->language->get('text_header');

    4. Дальше в языковом admin/language/russian/module/your_module.php после

    $_['text_column_right']   = 'Правая колонка';

    добавляем

    $_['text_header']    = 'В шапке сайта';

    ВСЕ! У вас модуль знает такую позицию как "В шапке сайта" выбираете и он выводится туда.

     

    ЕСЛИ НУЖНО ВЫВЕСТИ МОДУЛЬ НА ВСЕХ СТРАНИЦАХ

     

    То в первом шаге нужно вставить код без определения схемы (без layout)

    $module_data = array();
    $this->load->model('setting/extension');
    $extensions = $this->model_setting_extension->getExtensions('module'); 
    foreach ($extensions as $extension) {
    $modules = $this->config->get($extension['code'] . '_module');
    if ($modules) {
    foreach ($modules as $module) {
    if ($module['position'] == 'header' && $module['status']) {
    $module_data[] = array(
    'code'       => $extension['code'],
    'setting'    => $module,
    'sort_order' => $module['sort_order']
    ); 
    }
    }
    }
    }
    $sort_order = array(); 
    foreach ($module_data as $key => $value) {
           $sort_order[$key] = $value['sort_order'];
         }
    array_multisort($sort_order, SORT_ASC, $module_data);
    $this->data['modules'] = array();
    foreach ($module_data as $module) {
    $module = $this->getChild('module/' . $module['code'], $module['setting']);
    
    if ($module) {
    $this->data['modules'][] = $module;
    }
    } 

    Что бы вывести модули в footer, все тоже самое только в файлах которые отвечают за подвал сайта и везде значение header меняете на footer

    • +1 9
  5. Кто-нибудь разобрался как это сделать?

    Что тут понимать, ненужные скрипты отвечающие за подгрузку доп. функционала (colorbox, jquery.ui) и счетчики яндекса поместите в footer.tpl до закрывающего тега body. 

    Если есть несколько каруселей товаров на главной, то сделайте подгрузку этих скриптов по условию, что если на главной грузим скрипт в противном не грузим..

    Как-то так )))

    Если заняться оптимизацией opencart, то можно и самому минифицировать скрипты и css вручную, и картинки загружать сразу сжатые. А еще для магазинов с более 3000 товаров, лучше не брать простой хостинг, а хотя бы самый дешевый VPS. И будет хорошо.

     

  6. Помогите решить такую задачу

    Допустим есть site.ru где используем для ЧПУ seo_pro
    для товаров все ок ссылка на товар site.ru/tovar1
    Как сделать такое же и для категорий
    Пример как сейчас site.ru/category/subcat/subsubcat
    А нужно сделать вывод только последней вложенной, что бы было site.ru/subsubcat
    но при этом хлебные крошки сохраняли иерархию site.ru/category/subcat/subsubcat

    Искал по форуму инфу, так решения и не нашел.

    С меня на пиво за решение)

  7. Купил мод, все хоршо, вот только интересует, можно сделать автоматическую выгрузку указанных из списка заказов в Pickpoint?

    Тоесть - в настройках модуля вбиваем Логин и Пароль пикпоинта, затем в Заказах
     "галочками" Выбрали нужные заказы и нажали Експортировать - и все вуаля ))
    Было бы круто, ну и немного денежек в стоимость модуля добавить для обновления до такой фичи.

  8. Есть еще 1 неплохой вариант, который добавляет класс для любого елемента у которого уже назначен класс например "nav":
    В header.tpl перед закрывающим тегом head

    Пишем

    <script language="JavaScript" type="text/javascript">
    function highlight(){
      var tags=document.getElementsByTagName("li");
      for(i in tags){
        if(tags[i].className=="nav"){
            if(document.location.href==tags[i].firstChild.href){
                tags[i].className +=" active";
            }
        }
      }
    }
    </script>

    где nav это класс элемента к которому нужно дописать active при активном пункте

    Дальше после самого меню добавляем

    <script language="JavaScript" type="text/javascript">highlight()</script>
    • +1 1
  9. Убрать панель - Админка - Учитывать в заказе - Доставка - Оценка стоимости доставки - Отключено

    А переименовать надпись можно в языковом файле, который отвечает за ваш модуль доставки (вроде это language/russian/shipping/flat.php или cytilink.php)

    • +1 1
  10. На самом деле проблема как раз в скриптах была, на сайте на товар установлен скрипт который при наведении показывает кнопку купить и цену, мы переделали эту фишку через css (diplay: none - display: block) и стало работать. Но к сожалению сайту буду делать редизайн и полную адаптивность под все устройства так что заморачивался зря))

  11. Waha

    Прошу прощения, если не по теме! Не подскажете, что за модуль у вас стоит, когда фото товара увеличивается при наведении мышки?

     

    За этот модуль большое мерси  :-)

     

    Там обычный мод cluod_zoom Вот тема

    • +1 1
  12. А почему нельзя было сделать чистый перевод?
    Обязательно в каждий файл лепить ?

    /***********************************************************************************************************************

    Version 1.5.5.1
    Created 19:13 20.05.2013 UTF-8
    Copyright © 2010 Ukrainian Localization by OpenCart Ukrainian Team (http://opencart.ua). All rights reserved.

    Responsible for Translation:
     Eugene Kuligin ([email protected])

    License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
    Ask a question http://forum.opencart.ua

    ************************************************************************************************************************/

    а потом еще кучу комментов по типу "#43137" - зачем это нужно?

    Такое чувство, что все надо делать своими руками!

    Не пожалею времени сделаю нормальный перевод, у вас он даже еще местами кривой.

    • +1 1
  13. Друзья собственно вопрос таков,как убрать ограничение для загружаемых фотографий?И как увеличить размер всплывающего изображения,ставлю 900 на 1000 толку нет,размер такой же как и при 500x 500.Зарание спасибо

    Для  того что бы снять ограничения (вернее увеличить их) для загружаемых фотографий, нужно изменить файл admin/controller/common/filemanager.php

    Ищем строчку 136 (отвечает за размер в px фото)

    	while (($size / 1024) > 1) {
    						$size = $size / 1024;
    						$i++;
    					}
    

    Меняем значение 1024 на 2048 к примеру

     

    дальше ищем 438

    if ($this->request->files['image']['size'] > 300000) {
    					$json['error'] = $this->language->get('error_file_size');
    				}
    

    Значение 300000 это 300КБ - Сюда напишите сколько вам нужно к примеру 1024000 (10МБ)

    Сохраняем и имеем размер загружаемого фото не больше 2048px и не больше чем 10МБ

    Enjoy

    • +1 4
  14. Notice: Undefined index: route in /home/catalog/controller/module/showproductall.php on line 61

    Замените в 61 строчке

    $current_page = ($this->request->get['route']);	
    

    На

    	if (isset($this->request->get['route'])){
    		$current_page = ($this->request->get['route']);
    		}else{
    		$current_page = 'common/home';
    		}	
    

    Должно помочь!

  15. Waha, а можно ли ограничить количество выводимых товаров? Мне надо и все, и не все, как это сделать?

    Реализовано только выбор количества отображаемого на странице, то есть 15 25 50 100

    изначально это 15 товаров.

  16. 1. Модуль "Все товары" - выводит все товары магазина в любую позицию.

    - встроенный вид (Список и сетка)

    - Сортировка

    - Количество на странице

    - постраничная навигация


    Тестировалось на Opencart (ocStore) 1.5.1.3 - 1.5.4.1


    Никакой замены файлов!!! Без vqmod!
    Два языка (English, Russian)
    Установка:
    1. Просто копируем содержимое папки upload в корень сайта
    2. В Админ панели заходим Система - Поkьзователи - Группы пользователей - выбираем наш модуль - жмем Сохранить
    3. Дальше в Дополнения - Модули ищем "Все товары"
    - заходим публикуем куда надо (на любую страницу)
    - тискаем Сохранить.
    Демо работы модуля - http://big.swim-wear.ru/
    2. Отдельная страница "Все товары" - выводит все товары магазина, аналогично модулю, но является просто страницей (как контакты или информация...) на которую можно публиковать другие модули.


    Тестировалось на Opencart (ocStore) 1.5.1.3 - 1.5.4.1
    Никакой замены файлов!!!
    Два языка (English, Russian)
    Установка:
    1. Просто копируем содержимое папки upload в корень сайта
    2. Ссылка на страницу http://"ВАШ АДРЕС"/index.php?route=product/showproductall
    - можете вставлять ее куда угодно.

    3. Еще можно использовать модификацию Vqmod (работает для тем на дефолтном шаблоне):
    (добавляет ссылку на страницу в шапку сайта - "Все товары Магазина" "Главная"... и.т.д)
    - Если у вас установлен vqmod - скопируйте папку vqmod в корень вашего сайта!
    4. Если вам надо выводить модули (Категории, банер или еще что) вместе со страницей "Все товары"
    - зайдите в админку Система - Дизайн - Схемы (добавляем новую схему для нашей страницы)
    нажимаем "Добавить" Пишем "Название макета (к примеру) "Все товары"
    жмем добавить путь и вставляем туда "product/showproductall"
    жмем сохранить.
    Теперь у всех наших модулей будет в списке Схем наша страница "Все товары" куда и будем их выводить!

    Showallproduct_page.zip

    All_product_module.zip

    • +1 5
  17. Здравствуйте. Есть корзина /index.php?route=checkout/cart и оформление через Simple /index.php?route=checkout/simplecheckout

     

    Если задать url для checkout/cart, то при заходе на этот url открывается checkout/simplecheckout а не checkout/cart

    Дак тут дело в том что в system/library/url.php - установлена переадресация, то есть при заходе  checkout/cart нас перекидывает на checkout/simplecheckout

    с 14 по 27 строчку смотрите

  18. в контролере твоего модуля в массиве         $this->data['record'][] = array(  найди строчку -  " 'date_added'    => $result['date_added']," и замени ее на         'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])),
    Таким образом можно будет через файл language/russiam/russian.php изменять формат даты.

    • +1 1
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.