Хукі в php
Багато функцій і методи CS-Cart (Multi-Vendor) мають спеціальні хукі.
Хукі дозволяють модифікувати і розширювати можливості платформи за допомогою модуля.
За допомогою хука можна:
- Змінювати входять параметри функції
- Доповнювати логіку роботи функції
- Впливати на результат роботи функції
- Виконувати власну функцію при виконанні стандартної функції
Хукі розташовані у функціях і методах ядра CS-Cart.
Загальний принцип використання і роботи з хукамі:
- Визначилися з необхідними змінами стандартної функціональності
- Знайшли відповідний хук, поруч з місцем необхідних змін, вам обов'язково зустрінуться хукі в процесі п. 1
- Підключилися до хуку своїм модулем і внесли потрібні зміни.
Доступно дуже багато хуков:
Хукі в PHP виглядають так:
Щоб підключитися до хуку, вам необхідно:
Ініціалізувати підключення до хуку.
У своєму модулі відкрийте або створіть файл app / addons / [id_модуля] /init.php.
В даний файл додайте функцію:
Якщо іспользутся кілька хуков, передавайте назви хуков через кому:
Відкрийте або створіть файл app / addons / [id_модуля] /func.php.
Створіть функцію, яка буде виконуватися в хук.
Функція повинна мати назву виду: fn_ [id_модуля] _ [названіе_хука] ($ [параметри_хука_через_запятую])
У функції будуть доступні всі параметри передаються в хук.
Щоб функція могла впливати на параметри (змінювати зовні), їх необхідно передавати як посилання ( $ Param)
Припустимо, що нам потрібно додати якусь нову інформацію про товар, якщо товару немає на складі.
Функція fn_get_product_data () отримує інформацію про товар для картки товару (і багато ще де використовується). Ця функція знаходиться в файлі app / fucntions / fn.catalog.php.
Вона має 3 хука:
Підключимося до останнього хуку і додамо потрібну нам інформацію за допомогою модуля "Мої зміни":
Створимо файл app / addons / my_changes / init.php. щоб ініціалізувати підключення до хуку.
Додамо в нього код:
Створимо функцію для підключення до хуку.
Створимо файл app / addons / my_changes / func.php
Додамо нову функцію, яка спрацює в хук: