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

lexxkrt

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

    347
  • З нами

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

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

  1. 17 hours ago, prived said:

    щас насоветуют) просто переименуйте папку с сайтом в нужную и ничего не копируйте

    просто подправьте конфиги и все будет ок

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

    а ниче что сайты в разных местах на диске хранятся? с разными домашними папками

  2. Тут в любом случае нужна переделка. Добавить в справочник oc_product поле "единица измерение", либо просто текстовым полем (не правильно) либо ссылкой на справочник единиц измерения, с созданием оного, по аналогии со справочниками oc_length_class, oc_weight_class. Ну и соответствующие изменения везде в моделях/контроллерах, где использоваться должно. 

  3. нельзя поменять это структура программы, все остальное будет менять архитектуру программы. H1 и title это привязанные к категории реквизиты, если вам нужны разные реквизиты то делайте разные категории.

  4. 1 minute ago, chukcha said:

    Возможно, но где нагрузка?

    да бог с ней с нагрузкой, как поправили выше, в режиме отладки нагрузка вообще значения не имеет. суть в том что если сделать режимы strict_variables, debug по умолчанию доступными у большинства пользователей они так и останутся доступными даже в рабочем режиме, в принципе наверное ничего страшного не произойдет, ну пусть уж лучше без них

  5. 21 minutes ago, chukcha said:

    echo (isset($context["header"]) ? $context["header"] : null);
    будет чистый echo

     

    а где то будет типа такого 

    echo (isset($context["text_all"]) ? $context["text_all"] : $this->getContext($context, "text_all")); // strict = true

    вместо

    echo (isset($context["text_all"]) ? $context["text_all"] : null); 

     

    и такого

    if ((isset($context["categories"]) ? $context["categories"] : $this->getContext($context, "categories"))) { // strict = true

    вместо

     if ((isset($context["categories"]) ? $context["categories"] : null)) {

  6. С какой целью такой кричащий заголовок.

    Контроллер используется не для шаблона, а скорее наоборот, из контроллера "вызываешь" какой надо шаблон.

    Все параметры передаются из контроллера в массиве $data.

    product.price берется из цикла массива products (

    {% for product in products %}

    ), который заполняется в данном месте в коде контроллера

    $data['products'][] = array(
                        'product_id'  => $result['product_id'],
                        'thumb'       => $image,
                        'name'        => $result['name'],
                        'description' => utf8_substr(...
                        'price'       => $price,
    
    ...                );

    потратив аж целое одно воскресенье не можешь себя считать гуру опенкарта

  7. On 14.03.2018 at 12:51 AM, explosive said:

    Правильно понял? 

    1) В контроллер добавляю $data['price_original'] = $product_info['price'];


    2) а в twig
    {% if price_original <= 1 %}

    По запросу
    {% else%}
    {{ price }}
    {% endif %}

    можно сразу в контроллере в цену подставить нужную строку, раз уж все равно передается строка

  8. ну так вы не переделали запрос, у вас поле сортировки не поменялось

     

    и надо не md.name, а m.name, у manufacturer_description нет поля name.

    кстати проверил ваш запрос работает нормально

  9. не знаю как работать с событиями в view

     

    не трогая loader.php сделал изменения в файле catalog/controller/event/theme.php

    в самый конец функции override дописал

    $args['theme_default_directory'] = $this->config->get('template_directory');

    и в template/twig.php добавил

    $loader = new \Twig_Loader_Filesystem(DIR_TEMPLATE);

    if(isset($this->data['theme_default_directory'])){
        $loader->addPath(DIR_TEMPLATE.$this->data['theme_default_directory'].'/template','theme');
    }

    при этом и фронтэнд и админка работают и в шаблонах фронэнда можно использовать {% include "@theme/common/file.twig" %}

  10. с вышеприведенным кодом не работает админка, в лоадере поправил код, так заработало

            if(file_exists(DIR_TEMPLATE.$this->registry->get('config')->get('theme_default_directory').'/template')){
                $data['theme_default_directory'] = $this->registry->get('config')->get('theme_default_directory');
            }

    но как то данный вариант не очень нравится
     

  11. On 04.12.2017 at 1:43 AM, suRoot said:

    Насколько глубже? От корня сервера, юзера, хоста?

    /home/user//web/site.ru/public_html/catalog/view/theme/mytheme/template/common/file.twig

    нашел способ использовать вот так 

     

    {% extends "@theme/template.twig" %}

    {% include "@theme/common/file.twig" %}

     

    для этого надо добавить пути в загрузчик твига

    в файл library/template/twig.php в функцию render

     

    $loader = new \Twig_Loader_Filesystem(DIR_TEMPLATE);
    $loader->addPath(DIR_TEMPLATE.'mytheme/template','theme');

     

    Вся загвоздка остается в передаче имени каталога темы (mytheme), я достаю через конфиг, но для этого надо передать registry в конструкторе, с соответствующими переделками везде где надо, 

    $loader->addPath(DIR_TEMPLATE.$this->registry->get('config')->get('theme_default_directory').'/template','theme');

     

    еще вариант, попробовал прямо на ходу

    $loader = new \Twig_Loader_Filesystem(DIR_TEMPLATE);

    if(isset($this->data['theme_default_directory'])){
        $loader->addPath(DIR_TEMPLATE.$this->data['theme_default_directory'].'/template','theme');
    }

    но в файл system/engine/loader.php функция view в самом начале добавил

    $data['theme_default_directory'] = $this->registry->get('config')->get('theme_default_directory');

    в данном случае registry передавать не надо, в лоадере он уже есть

     

  12. как альтернатива, брать верхний левый пиксель (цвет его) и заполнять новую картинку базовым цветом, цветом пикселя.

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

Important Information

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