[FAQ] Настройки, оптимизации, фичи, статьи для OpenCart

Тема в разделе "OpenCart", создана пользователем VeroN, 23 дек 2012.

  1. VeroN

    VeroN

    Регистрация:
    26 ноя 2012
    Сообщения:
    82
    Симпатии:
    313
    « Правила раздела »
    1. Обсуждения - запрещены! Здесь размещаются только "готовые решения".
    2. Если хотите отблагодарить автора поста, то используем кнопку «Мне нравится». Создавать для этого новые сообщения не нужно!
    3. Размещать ссылки на сторонние ресурсы - запрещено.
    4. Если у вас возникли вопросы по одному из сообщений и вы считаете, что оно требует доработки или прочих изменений, то свяжитесь с автором поста для редактирования информации или сообщите одному из модераторов раздела для внесения изменений при помощи личных сообщений или кнопки "Пожаловаться".
    Правила оформления сообщения
    1. Название - для удобного поиска.
    2. Использовать размер шрифта для заголовков не больше 5, для остального не меньше 3 (стандартный). Если используете другой "цвет" шрифта, то он должен быть адекватным и не содержать 'радуги' или 'ядовитый' оттенок, который при просмотре ломает глаза.
    3. Для кода используем соответствующие теги, если код длинный, то прячем под "спойлер".
    4. Свободная информация взятая из интернета под хайдом не устанавливается! Если это ваш личный метод, то хайд на ваше усмотрение.
    Пример:
    « Меняем иконку для сайта »

    По умолчанию стандартная иконка имеет вид корзины для покупок. Рисуем свою иконку (16х16 px), сохраняем ее как "favicon.ico" и загружаем в корень сайта. Открываем файл "header.tpl" (путь: catalog\view\theme\default\template\common) и добавляем строчку:
    Код:
    <link rel="shortcut icon" href="/favicon.ico">
    - - -
    С уважением,
    Администрация форума
     
    rrrrsrer79, hisbvdis, Zelveger и 3 другим нравится это.
  2. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    281
    Симпатии:
    85
    Не делайте ЭТОГО НИКОГДА - таким образом вы грузите магазин.

    Это делается совсем другим способом..
    для этого нужно в document.php добавить метод setH1
    и в контроллерах
    $this->document->setH1

    для интересующихся вот как это работает
     
    Lasted edited by : 24 авг 2016
    alex_storm нравится это.
  3. kommunik

    kommunik

    Регистрация:
    23 авг 2016
    Сообщения:
    20
    Симпатии:
    1
    Автоматическая генерация title, meta description в карточке товара.

    Для оптимизации временных затрат пришлось добавить автоматическую генерацию title и meta description.
    Итак, задача была сгенерить тайт следующего формата:

    Title: НАЗВАНИЕ ПОДРАЗДЕЛА НАЗВАНИЕ ТОВАРА купить модель НОМЕР МОДЕЛИ с доставкой по всей ... в интернет-магазине ....
    Meta-description: Купить НАЗВАНИЕ ПОДРАЗДЕЛА НАЗВАНИЕ ТОВАРА модель НОМЕР МОДЕЛИ с
    доставкой по ... в интернет-магазине ...

    Открываем для редактирования контроллер карточки товара по адресу /catalog/controller/product файл product.php

    Находим массив формирования хлебных крошек, а именно строки:
    Код:
    $this->data['breadcrumbs'][] = array(
                    'text'      => $product_info['name'],
                    'href'      => $this->url->link('product/product', $url . '&product_id=' . $this->request->get['product_id'], 'SSL'),
                    'separator' => $this->language->get('text_separator')
                );   
    и начинаем писать после данных строчек.

    Для начала получим текущую категорию в которой находится товар, для этого получаем название последней категории.
    Для этого после выше указанных строчек вставляем
    Код:
    $product_category = $this->model_catalog_product->getCategories($product_id);
          
              foreach ($product_category as $prodcat)
              {     
              $category_info = $this->model_catalog_category->getCategory($prodcat['category_id']);     
              if ($category_info)
              {
                $podcatname =$category_info['name'];
              }
              }
    отсюда мы получаем переменную

    Код:
      $podcatname =$category_info['name']; 
    которая содержит название категории товара.

    Все остальные переменные уже есть и доступны в контроллере, их формировать не нужно, а именно
    Код:
    $product_info['name'] - название  товара
    $product_info['model'] - модель товара
    
    Итак, прописываем автоматическое формирование title для карточек товара.
    Находим строки
    Код:
    $this->document->setTitle($product_info['name']);
    
    либо
    Код:
    if ($product_info['seo_title']) {
                  $this->document->setTitle($product_info['seo_title']);
                } else {
                      $this->document->setTitle($product_info['name']);               
                } 
    
    которые отвечают за получение title с базы данных, коментируем или удаляем данные строки и вместо них вставляем
    Код:
    $avtotitle = $category_info['name']. ' ' .$product_info['name'].' купить модель ' . $product_info['model'].' с доставкой по ... в интернет-магазине ...';
                $this->document->setTitle($avtotitle);
    
    Провряем и радуемся автоматическому формированию title для карточек товара

    Для автоматического формирования meta-description находим строки
    Код:
    $this->document->setDescription($product_info['meta_description']);
    
    коментируем или удаляем их и вместо вставляем

    Код:
    $avtometadescr = 'Купить ' .$category_info['name']. ' ' .$product_info['name']. ' модель ' .  $product_info['model']. ' с доставкой по ... в интернет-магазине ...';
                $this->document->setDescription($avtometadescr);
    
    таким образом мы получили автоматическое формирование meta-description для карточки товара. Готово.
     
  4. settr

    settr

    Регистрация:
    12 окт 2016
    Сообщения:
    16
    Симпатии:
    10
    Сортировка изображений в карточке товара drag-n-drop (VQMOD)

    создаём файл admin/view/javascript/amin_img_sort.js
    Код:
      $( function() {
       $( "#images" ).sortable({
             update: function( event, ui ) {
               var i=1;
               $('#images .right input').each(function( index ) {
               $( this ).context.value = i;
               i++;
               });
           }
       });
      });
    

    создаём файл vqmod/xml/admin_img_sort.xml
    Код:
    <?xml version="1.0" encoding="UTF-8"?>
    <modification>
        <id>admin_img_sort</id>
        <version>1.0</version>
        <vqmver>2.X</vqmver>
        <author>settr</author>
        <file name="admin/controller/catalog/product.php">
            <operation info="sort">
                <search position="after" index="2,3"><![CDATA[
                $this->document->setTitle($this->language->get('heading_title'));
                ]]></search>
                <add><![CDATA[
                $this->document->addScript('view/javascript/amin_img_sort.js');
                ]]></add>
            </operation>
        </file>
    </modification>
     
  5. Allaur

    Allaur

    Регистрация:
    5 дек 2013
    Сообщения:
    17
    Симпатии:
    1
    Не работает у меня этот метод, капча всё равно не отображается в контактах