Ответить Новая тема Новый опрос 
 Как перенести модуль BlockUserInfo
Soleychik
Новичок
Сообщений: 13
Регистрация: 28-06-2015


28-06-2015 17:08
Здравствуйте,
помогите разобраться с переносом модулей в другой хук. Использую версию престашоп
1.6.0.14.

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

Модуль BlockUserInfo добавился в хук displayTop, но только в панели администратора. На сайте он так и не отражается.

Вопрос: Как перенести модуль BlockUserInfo из displayNav в displayTop? Если через панель администратора (расположить модуль) он не переносится.

Помогите пожалуйста . Спасибо.
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
pav31


Профессионал
Сообщений: 418
Откуда: Киев
Регистрация: 28-09-2011


28-06-2015 17:44
Скорее всего вы его перенесли но он не отображается.

Смотритте шаблон вывода в:
blockuserinfo/blockuserinfo.tpl
в папке темы, если его нет то в папке modules.

Также включите перекомпиляцию шаблонов и отключите кеш.
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Soleychik
Новичок
Сообщений: 13
Регистрация: 28-06-2015


28-06-2015 21:36
Цитата:( pav31 @ 28-06-2015 18:44 Смотреть сообщение )
Скорее всего вы его перенесли но он не отображается.

Смотритте шаблон вывода в:
blockuserinfo/blockuserinfo.tpl
в папке темы, если его нет то в папке modules.

Также включите перекомпиляцию шаблонов и отключите кеш.



Спасибо вам за ответ.

В папке темы файл blockuserinfo.tpl присутствует, но он пуст( В modules blockuserinfo.tpl -этот файл есть, вот что в нем :

<!-- Block user information module HEADER -->
<div id="header_user" {if $PS_CATALOG_MODE}class="header_user_catalog"{/if}>
<ul id="header_top">
{if !$PS_CATALOG_MODE}
<li id="shopping_cart">
<a href="{$link->getPageLink($order_process, true)|escape:'html'}" title="{l s='View my shopping cart' mod='blockuserinfo'}" rel="nofollow">{l s='Cart' mod='blockuserinfo'}
<span class="ajax_cart_quantity{if $cart_qties == 0} hidden{/if}">{$cart_qties}</span>
<span class="ajax_cart_product_txt{if $cart_qties != 1} hidden{/if}">{l s='Product' mod='blockuserinfo'}</span>
<span class="ajax_cart_product_txt_s{if $cart_qties < 2} hidden{/if}">{l s='Products' mod='blockuserinfo'}</span>
<span class="ajax_cart_total{if $cart_qties == 0} hidden{/if}">
{if $cart_qties > 0}
{if $priceDisplay == 1}
{assign var='blockuser_cart_flag' value='Cart::BOTH_WITHOUT_SHIPPING'|constant}
{convertPrice price=$cart->getOrderTotal(false, $blockuser_cart_flag)}
{else}
{assign var='blockuser_cart_flag' value='Cart::BOTH_WITHOUT_SHIPPING'|constant}
{convertPrice price=$cart->getOrderTotal(true, $blockuser_cart_flag)}
{/if}
{/if}
</span>
<span class="ajax_cart_no_product{if $cart_qties > 0} hidden{/if}">{l s='(empty)' mod='blockuserinfo'}</span>
</a>
</li>
{/if}
<li id="your_account"><a href="{$link->getPageLink('my-account', true)|escape:'html'}" title="{l s='View my customer account' mod='blockuserinfo'}" rel="nofollow">{l s='Your Account' mod='blockuserinfo'}</a></li>
</ul>
<p id="header_user_info">
{l s='Welcome' mod='blockuserinfo'}
{if $logged}
<a href="{$link->getPageLink('my-account', true)|escape:'html'}" title="{l s='View my customer account' mod='blockuserinfo'}" class="account" rel="nofollow"><span>{$cookie->customer_firstname} {$cookie->customer_lastname}</span></a>
<a href="{$link->getPageLink('index', true, NULL, "mylogout")|escape:'html'}" title="{l s='Log me out' mod='blockuserinfo'}" class="logout" rel="nofollow">{l s='Sign out' mod='blockuserinfo'}</a>
{else}
<a href="{$link->getPageLink('my-account', true)|escape:'html'}" title="{l s='Log in to your customer account' mod='blockuserinfo'}" class="login" rel="nofollow">{l s='Sign in' mod='blockuserinfo'}</a>
{/if}
</p>
</div>
<!-- /Block user information module HEADER -->


Я не вижу кода где я могу изменить положение модуля отношению к hook :cray:

Перекомпиляция шаблона включена и отключен кеш.
Спасибо
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


28-06-2015 22:16
Цитата:( Soleychik @ 28-06-2015 22:36 Смотреть сообщение )
В папке темы файл blockuserinfo.tpl присутствует, но он пуст( В modules blockuserinfo.tpl -этот файл есть, вот что в нем :

В директории темы удалите файл blockuserinfo.tpl и очистите кеш.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Soleychik
Новичок
Сообщений: 13
Регистрация: 28-06-2015


15-07-2015 00:08
Цитата:( Алекс @ 28-06-2015 23:16 Смотреть сообщение )
Цитата:( Soleychik @ 28-06-2015 22:36 Смотреть сообщение )
В папке темы файл blockuserinfo.tpl присутствует, но он пуст( В modules blockuserinfo.tpl -этот файл есть, вот что в нем :
В директории темы удалите файл blockuserinfo.tpl и очистите кеш.

Большое спасибо.

Все получилось !
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
dudilona
Новичок
Сообщений: 28
Регистрация: 03-11-2015


23-11-2015 05:24
А я вообще не могу понять, что это за blockuserinfo.tpl такой? :(

В админке мы можем наблюдать, что сей модуль - "блок информации о пользователе" у нас расположен в 3-х хуках: header, nav и top

Если открыть blockuserinfo.php то видим в конце:

Код:
public function hookDisplayTop($params)
    {
        if (!$this->active)
            return;

        $this->smarty->assign(array(
            'cart' => $this->context->cart,
            'cart_qties' => $this->context->cart->nbProducts(),
            'logged' => $this->context->customer->isLogged(),
            'customerName' => ($this->context->customer->logged ? $this->context->customer->firstname.' '.$this->context->customer->lastname : false),
            'firstName' => ($this->context->customer->logged ? $this->context->customer->firstname : false),
            'lastName' => ($this->context->customer->logged ? $this->context->customer->lastname : false),
            'order_process' => Configuration::get('PS_ORDER_PROCESS_TYPE') ? 'order-opc' : 'order'
        ));
        return $this->display(__FILE__, 'blockuserinfo.tpl');
    }

    public function hookDisplayHeader($params)
    {
        $this->context->controller->addCSS(($this->_path).'blockuserinfo.css', 'all');
    }

    public function hookDisplayNav($params)
    {
        return $this->display(__FILE__, 'nav.tpl');
    }


Т.е. то что отображается на экране в хуке nav прописано тут: nav.tpl

А что прописано в blockuserinfo.tpl именно том который в корне в папке modules находится а не в папке modules шаблона, хз что прописано и где это отображается.

Поясните пожалуйста зачем нужен blockuserinfo.tpl и почему он висит в топе?

 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
dudilona
Новичок
Сообщений: 28
Регистрация: 03-11-2015


23-11-2015 05:38
Так, рассуждать самому с собой описывая проблему на форуме оказывается результативно )))

В общем по совету Алекса решил удалить пустой файл blockuserinfo.tpl тот который в папке шаблона и все стало понятно, что отображается и где )

Правда вторая корзина появилась, но как убрать одну из двух - там уже разберусь.

Продолжая тему дискуссии у меня возникает вопрос:
Есть папка modules в корне сайта, а есть папка modules в папке шаблона.
Чем отличается содержимое этих папок?

Заметил, что в основном php код модуля хранится в той папке которая в корне сайта а .tpl дублируется.

Правильно я понимаю, что .tpl файл модуля который хранится в папке шаблона имеет больший приоритет чем тот что в папке которая в корне?

Так это работает?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
admmatrix
Cпециалист
Сообщений: 144
Откуда: Москва
Регистрация: 12-08-2011


13-04-2016 12:14
в папке с шаблоном .tpl для удобства редактирования tpl модуля.
Если в папке с шаблоном есть tpl, то движок читает его, если нет то из /modules/

так же и с css, js
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
sborzabor
Новичок
Сообщений: 1
Регистрация: 29-07-2016


29-07-2016 16:41
есть такое...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос