Автор Тема: Как найти нужный хук?  (Прочитано 65 раз)

10 Октябрь 2017, 16:46:58
  • Пользователь
  • **
  • Сообщений: 96
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Приветствую!
Стоит задача вместо обычной пагинации в категориях товаров поставить аяксовую, чтоб подгружала порциями.
Т.е., нужно под листингом товаров поставить кнопочку типа "Загрузить еще".
Модуль написал, все работает.
Только проблема в том, что нужно понять, к какому хуку (нативному) привязать этот модуль, чтобы сразу после инсталла модуля кнопочка стала на свое место (см. выше).
Пока пришлось вручную прописать свой хук в category.tpl, но это не правильно как по мне.
Где бы раздобыть перечень и расположение хуков престы?
Или подскажете другой вариант?
10 Октябрь 2017, 18:08:49
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 3107
  • Репутация: +73/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Шаблон tpl смотри там найждешь все хуки и место где они выводятся.
Нормальный у тебя метод, модуль переопределяет шаблоны темы своими хуками. Так что можешь оставить все как есть.
11 Октябрь 2017, 09:05:26
Ответ #2
  • Пользователь
  • **
  • Сообщений: 96
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Просто нужно отправить этот модуль человеку, кот. не знает что такое хуки и куда их прописывать.
Он должен установить его и все поедет.
Или что-то не доработано в престе в этом плане или я чего-то не знаю.
По хорошему, хотелось бы, чтобы при инсталле модуля автоматом  прописался бы и хук.
Или как... не пойму.
11 Октябрь 2017, 09:23:02
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 14250
  • Репутация: +14572/-2
  • Сообщество PrestaShop
    • Просмотр профиля
В prestashop есть преопределенные хуки. В эти хуки можно устанавливать модуль без изменений шаблонов темы.
Вы же хотите заменить шаблон пагинации любой темы. В prestashop все доработано. Делайте тему с такой функцией и модуль не нужен.
11 Октябрь 2017, 09:31:20
Ответ #4
  • Пользователь
  • **
  • Сообщений: 96
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нет, шаблон пагинации я не меняю, просто стилями модуля его прячу.
11 Октябрь 2017, 10:59:01
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 14250
  • Репутация: +14572/-2
  • Сообщество PrestaShop
    • Просмотр профиля
Разницы нет. Я видел несколько разных тем у которых по разному сделана пагинация, разные стили, разные классы. Не возможно создать модуль на все варианты. Менять файлы темы все равно придеться.
11 Октябрь 2017, 11:08:14
Ответ #6
  • Пользователь
  • **
  • Сообщений: 96
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Все-равно ощущение кривизны не покидает.
Мне заказали модуль, который в понравившемся заказчику месте выводит что-то.
Я его написал и выслал.
Но при этом заказчику нужно полезть в шаблон и между какими-то там строчками кода вписать хук, на который повесится мой модуль.
Я же неоднократно покупал различные модули, они ставали куда нужно, мне ничего не приходилось дописывать в темплейтах.
Или это все стандартные хуки? А как же мой случай, где гибкость?
11 Октябрь 2017, 11:40:07
Ответ #7
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 1118
  • Репутация: +336/-0
  • Job-Freelance - работа для специалистов PrestaShop
    • Просмотр профиля
    • Job Freelance - удаленная работа программистам, веб-мастерам и дизайнерам
Вопрос не в гибкости, как я вижу. А в желании больше заработать от одного заказа.
Нормальное желание, модуль же можно продавать много раз

Заказчик купил тему, захотел ее переделать, заказал модуль (зачем не понятно).
Вы модуль сделали и установили.
Все работет, все отлично, все довольны.

Хотя, для заказчика логичнее переделать 1 шаблон темы. Дешевле, проще и быстрее. Это я вам как заказчик говорю, проверено на многих проектах.
Только тогда вы меньше заработаете.

Я модули вообще не приветсвую. Лишнии они, в движке есть все для начало, а после раскрутки магазина нужно кастомизировать под свои требования, а не делать как у соседа. Поэтому нанимаю программиста и он все доводит до нужного состояния.
Job Freelance - предложения от европейских работодателей для  программистов, веб-мастеров и дизайнеров - специалистам по Magento и PrestaShop.
11 Октябрь 2017, 11:59:42
Ответ #8
  • Пользователь
  • **
  • Сообщений: 96
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Да дело не в заработке))
Тем более, что я делаю его бесплатно в качестве тестового задания.
Любую задачу предпочитаю реализовывать в качестве модуля - так понятнее, что где лежит, к чему относится, всегда можно просто отключить.
Но ответа на свой вопрос так и не получил. Считаю тут у престы недоработка.
Но преста однозначно лучший движок для магазина. Пока проблем никаких не возникало в кастомизации.
11 Октябрь 2017, 12:14:51
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 3107
  • Репутация: +73/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Создай свой хук
public function hookDisplayNameOfHook($params)
{
    // Your code.
}
В модуле добавь функцию бекапа файла pagination.tpl и вторую для создания нового файла с твоим хуком. В uninstall вставь возврат старого файла и удаление твоего.
11 Октябрь 2017, 12:44:13
Ответ #10
  • Пользователь
  • **
  • Сообщений: 96
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В общем, да.
Решение похоже единственно верное.