Ответить Новая тема Новый опрос 
 Хуки в престе
0xdeface


Новичок
Сообщений: 2
Регистрация: 21-09-2015


21-09-2015 16:46
Здравствуйте, недавно пришлось начать работать с престашоп - возникло несколько вопросов на которые не смог найти ответ, буду благодарен за помощь.

1) В чем разница между $HOOK_TOP и допустим $displayTop?
как таковой HOOK_TOP в админке не нашел, все что навешено на дисплей топ отображается в шаблоне вместо $HOOK_TOP.
Почему хуки (которые капсом) проверяются на существование через isset,а хуки (кемелКейс) проверяются через смарти capture?

2) Как лучше именовать модули? в исходниках родной темы черти че творится там и class BlockCategories и class Blocktopmenu

3) Где можно найти API (мне нужны методы работы с ядром и базовыми сущностями вроде товар категория карзина), сейчас чтобы что то выдернуть ковыряю упорно исходники чтобы получить рут категорию ушел почти час
new Category(Configuration::get('PS_HOME_CATEGORY'),$this->context->language->id,$this->context->shop->id);

П.С если есть человек который не против поделится или обменятся опытом буду рад добавить в вк. Сам свободно использую Symfony, Laravel, Kohana в своих проектов, если кроме php то еще пишу на python (Django, Flask) и упорно учу RoR


Сообщение отредактировал 0xdeface (21-09-2015 19:48)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


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


21-09-2015 17:16
Цитата:( 0xdeface @ 21-09-2015 17:46 Смотреть сообщение )
и допустим $displayTop?

Подобной конструкции нет.
Код:
Hook::exec('displayTop')


Цитата:( 0xdeface @ 21-09-2015 17:46 Смотреть сообщение )
как таковой HOOK_TOP в админке не нашел, все что навешено на дисплей топ отображается в шаблоне вместо $HOOK_TOP.
Почему хуки (которые капсом) проверяются на существование через isset,а хуки (кемелКейс) проверяются через смарти capture?


Файл /controller/FrontController.php
Код:
'HOOK_TOP' => Hook::exec('displayTop'),

displayTop - хук.

Цитата:( 0xdeface @ 21-09-2015 17:46 Смотреть сообщение )
Почему хуки (которые капсом) проверяются на существование через isset,а хуки (кемелКейс) проверяются через смарти capture?

Бред.

Цитата:( 0xdeface @ 21-09-2015 17:46 Смотреть сообщение )
2) Как лучше именовать модули? в исходниках родной темы черти че творится там и class BlockCategories и class Blocktopmenu

Не важно.

Цитата:( 0xdeface @ 21-09-2015 17:46 Смотреть сообщение )
3) Где можно найти API (мне нужны методы работы с ядром и базовыми сущностями вроде товар категория карзина)


Код открыт.
Товар: /classes/Product.php
Категория: /classes/Category.php
Корзина: /classes/Cart.php
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
0xdeface


Новичок
Сообщений: 2
Регистрация: 21-09-2015


21-09-2015 19:13
тыц
Код:
{capture name='displayNav'}{hook h='displayNav'}{/capture}
                    {if $smarty.capture.displayNav}
                        <div class="nav">
                            <div class="container">
                                <div class="row">
                                    <nav>{$smarty.capture.displayNav}</nav>
                                </div>
                            </div>
                        </div>
                    {/if}

тыц
Код:
{$HOOK_HEADER}

почему часть выводится первым способом,а часть вторым?
или HOOK_TOP не хук а содержит результат отображения хука displayTop?

Если вы пытаетесь самоутвердится, то помоему это не лучший способ.
А если хотите помочь могли бы отвечать вежливее и подробнее?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


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


21-09-2015 19:39
Цитата:( 0xdeface @ 21-09-2015 20:13 Смотреть сообщение )
Код:
{capture name='displayNav'}{hook h='displayNav'}{/capture}


Цитата:
{capture} используется для того, чтобы собрать результат обработки части шаблона между тэгами в какую-то переменную, вместо того, чтобы отобразить результат. Любое содержимое между {capture name='foo'} и {/capture} сохраняется в переменную, указанную в атрибуте name.

Захваченные данные могут в дальнейшем использоваться в шаблоне при помощи специальной переменной $smarty.capture.foo, где “foo” - значение, переданное атрибуту name. Если атрибут name не указан, то используется “default”, т.е. $smarty.capture.default.


Цитата:( 0xdeface @ 21-09-2015 20:13 Смотреть сообщение )
{$HOOK_HEADER}

Файл /controller/FrontController.php
'HOOK_HEADER' => Hook::exec('displayHeader'),

Цитата:( 0xdeface @ 21-09-2015 20:13 Смотреть сообщение )
{hook h='displayNav'}

Вызов и выполнение хука в шаблоне.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос