как добавить в модуль функцию для хука

Автор Vita, 05 марта 2017, 15:12:54

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

Vita

Хочу , чтобы модуль отображался в этом хуке displayProductPriceBlock. Прочла, чтобы он отображался нужно в сам модуль добавить функцию для этого хука, но не знаю как написать такую функцию. Подскажите пожалуйста, как ее написать или где можно найти уже готовую функцию? Буду очень благодарна :)

DarinSr

PrestaShop 1.6 > Creating a PrestaShop Module > Creating a first module
Тут объяснено подробно и дан пример.

Vita

Но я там не нашла ничего про добавление нового хука в модуль.
А есть еще где-то такая информация?

DarinSr

Там есть как добавить модуль в существующий хук.
public function install()
{
  if (!parent::install() ||
    !$this->registerHook('leftColumn')
  )
    return false;

  return true;
}


Если нужно создать свой хук, то сделайте как написано в этой теме:
Prestashop: Как создать Hook

Vita

Он установился, но пишет, что нет тем для модуля. Что это означает? Это можно как-то исправить?

mAgency

Точно "тем"? Такой ошибки быть не должно.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

Vita

#6
Извините, то просто я раньше пробовала добавить хук в модуль и записала функцию для хука:
function displayProductPriceBlock($params)
{
global $smarty;
global $cookie;
$zero = Configuration::get('_ZERO_');
$product = new Product($_GET['id_product'], false, intval($cookie->id_lang));
$art = $this->l("Ref.: ");
if(Validate::isLoadedObject($product))
$smarty->assign('product_b1c', array($product->name,(Configuration::get('_REF_')?" ".$art.$product->reference:'')));
if ($zero == 1) $quantity = StockAvailable::getQuantityAvailableByProduct($_GET['id_product'], $id_product_attribute = null, $id_shop = null);
else $quantity = 5;
if(Validate::isLoadedObject($product)) $smarty->assign('product_available', $quantity);
//$this->context->controller->addJS($this->_path.'js/buyme.js');

return $this->display(__FILE__, 'fastorder.tpl');
}

Убрала ее теперь ничего не не отображается(
Как исправить чтоб оно заработала?(((

mAgency

Цитата: DarinSr от 05 марта 2017, 15:20:25
PrestaShop 1.6 > Creating a PrestaShop Module > Creating a first module
Тут объяснено подробно и дан пример.
Сначала изучаете руководство разработчика. В нем много примеров как создавать модули, какая структура у модуля и т.д. Потом большая часть вопросов будет ясна. У вас все в куче, в одном хуке, так не делается.

global $smarty;
global $cookie;

Это для старых версий prestashop, в prestashop 1.6 ненужно
Переменные из массива POST, GET получают в контроллере.

Начните с уроков по php и smarty. А то объяснять нужно с азов.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

DarinSr

Цитата: Vita от 05 марта 2017, 15:57:13
Он установился, но пишет, что нет тем для модуля. Что это означает? Это можно как-то исправить?
Может ошибка "нет шаблона"?