Изменение расположения модуля, если он вызывается хуком

Автор brus powerfull, 24 сентября 2014, 15:37:08

« назад - далее »

brus powerfull

Добрый день.

Борюсь с такой проблемой: есть модуль Brands&Logos,который отображается на странице товара не очень хорошо, его необходимо переместить на другое место на странице. Если в браузере просматривать блок,в котором он находится, а потом пойти в шаблон страницы товара, то на тот самом месте его нет , а вместо него '..if isset($HOOK_EXTRA_RIGHT)..'.

Подскажите пожалуйста где можно корректировать изменение расположения этого модуля?

Adik


brus powerfull

#2
Функцию, отвечающую за расположение модуля на странице товара в этом файле я нашел. А вот как указать в ней, если мне нужно, чтобы модуль располагался там же(я имею ввиду блок div(RightColumn)), но в другом месте внутри этого блока?

public function hookDisplayRightColumnProduct($params) {
        if (Configuration::get('BMS_PRODUCT_PAGE') == 1 || Configuration::get('BMS_SUPP_PRODUCT_PAGE') == 1) {
            $id_product = Tools::getValue('id_product');
            $productObj = new Product($id_product, FALSE, $this->context->cookie->id_lang);
            $size = Configuration::get('BMS_PRODUCT_SIZE');
        }

Adik

Передвигать модули в Модули > Расположение блоков.

brus powerfull

В том то и проблема, что когда я в Live-режиме захожу на страницу товара, то этот блок(Brands&Logos) не обозначен как модуль(не обведен в красную пунктирную линию), хотя устанавливал я его как отдельный модуль - Brands&Logos. В чем заковыка?

DarinSr

Цитата: Adik от 24 сентября 2014, 17:24:17
Передвигать модули в Модули > Расположение блоков.
Это не живой редактор, а все модули которые показанны в разных хуках. Передвинуть можно вниз/вверх.
В живом редакторе отображаются только те модули, у которых вывод определен в нескольких хуках.

brus powerfull

Зашел в Модули>Расположение блоков нашел displayRightColumnProduct и там всего два модуля: 1-Социальные сети 2-Brands&Logos. Я поставил(передвинул) второй блок на первое место. Зашел на страницу, почистил кэш, перезагрузил страницу товара - блок так и остался на своем месте.

brus powerfull

Мне нужно сдвинуть этот модуль так, чтобы он был напротив названия товара(справа от названия), там места для него хватает. Может это можно как-нибудь по-другому реализовать? А то через Редактор модулей не выходит

tigran

Стили изменить, position/top/left, так можно все поменять.

brus powerfull


brus powerfull

Добрый день.

У меня возникла такая проблема: есть блок Brand's&Logos, в папке tpl этого модуля лежать 3 файла - product_list.tpl,product_page.prl и slider.tpl. Мне необходимо переместить этот блок в другое место на странице товара, я зашел в файл стилей для этого блока и сделал необходимые изменения, но после этого на странице 'Товары этого брэнда' (страница брэнда) у  меня все поползло.

Подскажите, как быть? Как изменить местоположение блока на странице товара, но без последствий на других страницах.

tigran

Обсуждали много раз. Нет вашего модуля у большинства пользователей prestashop. Ставить его, чтобы увидеть где и что менять, мало кто будет.
Что сделать написали, как сделать писали:
FireFox + FireBug + FirePicker
Firefox - все для веб-разработки

brus powerfull

Я об этом не подумал. Спасибо. Fire-Fox уже пользуюсь.

brus powerfull

#13
Добрый день,
Возникла такая сложность - не могу заменить строку на нужную на главной странице сайта. Эта строка лежит в блоке
<div class="cs_footertop_left grid_8 alpha">
это я увидел через Firefox, но в шаблоне footer.tpl этой строки нет.
Сам блок,в котором лежит нужная мне строка имеет вид:
<div class="cs_footertop_left grid_8 alpha">{if isset($HOOK_FOOTER_TOP_LEFT) && $HOOK_FOOTER_TOP_LEFT}{$HOOK_FOOTER_TOP_LEFT}{/if}</div>
Подскажите пожалуйста, где найти файлы хуков $HOOK_FOOTER_TOP_LEFT и $HOOK_FOOTER_TOP_RIGHT ?

mistral

Файлов хуков не существует. Есть файлы шаблонов, контроллеров, классов. Хук это переменная шаблона. Ищите у себя объявление переменных HOOK_FOOTER_TOP_LEFT и HOOK_FOOTER_TOP_RIGHT.  В стандарной теме таких нет. В footer есть переменные HOOK_RIGHT_COLUMN и HOOK_LEFT_COLUMN. Они определены в классе FrontController.php. Посмотрите какие модули выводяться в футере (Модули - Расположение блоков или Живой редактор) и ищите в этих модулях.