SaulBerenson
-
Публікації
10 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем SaulBerenson
-
-
16 минут назад, spectre сказал:
надо в контроллере смотреть какая ссылка активна и не говнокодить в шаблоне
Ну так помогите. Я же понимаю, что для знающего человека это 2 минуты и 3 строчки, готов перечислить благодарность за работающее решение.
-
В админке "Каталог" - "Статьи" создал ряд статей на тему "Как выбрать", "Гарантийное обслуживание" и т.д. Хочу, чтобы на шаблоне "Информация" сбоку выводилась менюшка из этих статей, в том же виде, в котором сбоку категории на страницах категорий и продуктов (class="list-group"). В опенкарте чайник, первый раз сайт делаю. Поскольку выводить в менюшку надо не все статьи - решил искать вариант не как вывести меню статей, а вручную прописать в catalog\view\theme\default\template\information\information.twig на html эту менюшку.
Прописал вот так
<aside id="column-left" class="col-sm-3 hidden-xs"> <div class="list-group"> <a href="/how_to_choose/" class="list-group-item">Как выбрать</a> <a href="/garantiya/" class="list-group-item">Гарантийное обслуживание</a> .. БЛА БЛА БЛА... <a href="/contacts/" class="list-group-item">Контактная информация</a> </div> </aside>
Менюшка выглядит полностью как мне надо.
А теперь вот думаю - а как приписать класс active к ссылке на ту статью, которая сейчас на экране? чтобы было
class="list-group-item active"
Такой вариант
<a href="/something/" class="list-group-item {{ (app.request.attributes.get('_route') == 'something') ? 'active' }}">page about something</a>
ничего не дал.
Напишите в личку кто может помочь и цена вопроса?
-
Я просто не понял почему относительный путь работает относительно корня, хотя по всей логике должен работать относительно файла catalog\controller\common\header.php
То есть я прямо указал
$data['mydata'] = file_get_contents("file.ssi")
и всё заработало, хотя file.ssi в корне сайта
-
33 минуты назад, AlexDW сказал:
данные из контроллера в шаблон передаются через массив $data
контроллер примерно так
$data['mydata'] = file_get_contents($path);
шаблон
{{ mydata }}
Спасибо, всё заработало!
Правда не понял такой момент - в file_get_contents путь указывается от корня сайта? от расположения скрипта? У меня работает если прямо file.ssi указать без пути, а лежит он в корне... Хотя я так понимал придётся указать путь от папки контроллера... Что я понял не так?
-
Такая схема тоже не сработала
контроллер
$mydata = file_get_contents($path); return $this->render('file.ssi.twig', [ 'mydata' => $mydata, ]);
шаблон
{{ mydata }}
-
Так кто-нибудь подскажет как в контроллере подключить?
-
29 минут назад, chukcha сказал:
https://twig.symfony.com/doc/2.x/tags/include.html
Конечно данные должны быть подготовлены в контроллере
Ребята, не судите строго, я опенкарт и твиг вижу впервые в жизни, раньше только на вордпрессе работал. Контроллер это что вообще и куда?
А показанный мной в 1 после способ нельзя как-то легко исправить?
-
6 минут назад, chukcha сказал:
а шо? разве в твиге нет include?
всё что в нём есть - для импорта шаблонов, а не произвольного файлика со строчкой текста (source есть такая функция)
7 минут назад, AlexDW сказал:нужно что-то подключить - подключайте в контроллере и уже из него передавайте
а это где искать или что гуглить? ткните носом, плиз
-
Допустим в корне сайта лежит файл "file.ssi"
Как его содержимое вставить в twig-шаблон? (header.twig)
Почему важно чтобы он там лежал и так назывался - у меня скрипт, периодически меняющий содержимое этого файла на N моих сайтов, и на статике или wordpress я через ssi или php его содержимое впечатываю в шаблон, а как это сделать в twig не понял
Пробовал в header.twig прописать
{{ bla_bla }}
затем в catalog\controller\common\header.php прописал
$data['bla_bla'] = sprintf($this->language->get('text_bla_bla'), $this->config->get('config_name'), date('Y', time()));
затем в catalog\language\ru-ru\common\header.php прописал
$_['text_bla_bla'] = 'кусок html-кода';
-- и так выводится на нужном месте кусок текста!
но при попытке сделать типа
$_['text_bla_bla'] = 'кусок html-кода' . $bla_bla_bla = file_get_contents('/file.ssi'); echo $bla_bla_bla; . 'кусок html-кода';
- сайт не открывается, ошибка.
Я так понимаю чисто php-шная ошибка и моего скромного знания (точнее незнания) php не хватает чтобы получить в $_['text_bla_bla'] пару кусков html и содержимое файла между ними.
В-общем надо или в header.twig как-то вставить, или с php как-то решить, я сам не понимаю где ошибся.
Сделал вручную боковое меню, хочу в нём добавлять класс active к ссылке на текущий урл
в Налаштування та дрібна робота по вже існуючому сайту
Опубліковано:
Смотрю и контроллер и сам шаблон, но мало что понимаю. И это не даёт мне никакого понимания о том, как класс active подставить к активной ссылке. Я не программист, даже в синтаксисе php плохо ориентируюсь, а twig вообще первый раз вижу