Ответить Новая тема Новый опрос 
 Переопределить файл модуля, как?
d91me
Новичок
Сообщений: 19
Регистрация: 22-02-2012


22-04-2012 17:10
Хочу переопределить файлы модулей в шаблоне, для нужд. Как это сделать?
В Joomla это делается созданием в шаблоне папки html и там название папки переопределяемого компонента. Есть ли такое в prestashop? Есть ли другой вариант, чтобы не переделывать изначальные файлы движка?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
d91me
Новичок
Сообщений: 19
Регистрация: 22-02-2012


22-04-2012 17:29
Добавлю, что мне нужно переопределить файл php и добавить туда позицию для хука, это не tpl файл
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
e_v_medvedev
Профессионал
Сообщений: 806
Откуда: Москва
Регистрация: 25-03-2011


22-04-2012 21:38
PHP файлы модуля в шаблоне не переопределяются. Нужно редактировать файл в самом каталоге модуля. Там же нужно добавлять соответствующую функцию для хука.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
d91me
Новичок
Сообщений: 19
Регистрация: 22-02-2012


23-04-2012 01:08
Спасибо, на данный момент у меня так и сделано, если кому интересно нашёл, как переопределять разные файлы модуля.
Модули обычно имеют подобный формат:

/modules/mon_module/my_module.tpl

/modules/mon_module/my_module.css

/modules/mon_module/my_module.js


PrestaShop позволяет переопределять, или заменять показываемые файлы модуля, через вашу тему(шаблон):

/themes/prestashop/modules/my_module/my_module.tpl

/themes/prestashop/css/modules/my_modules/my_module.css

/themes/prestashop/js/modules/my_modules/my_module.js


Новые файлы будут задействованы, когда вы запустите сайт.

Ещё можно переопределять контроллеры:

Мы хотим переопределить контроллер категорий, чтобы поменять там хук, т.к. при обновлении Prestashop модули могут так же обновится, чего мы не хотим. В шаблоне создаём override/controllers/CategoryController.php со следующим кодом:
Код:
<?php

class CategoryController extends CategoryControllerCore
{
    public function process()
    {
        parent::process();

        self::$smarty->assign('HOOK_CATEGORY', Module::hookExec('category'));
    }
}

?>

После добавления хука категории в Базу данных, я смогу использовать {$HOOK_CATEGORY} в product-list.tpl и мне не нужно волноваться о изменении файла при обновлении!


Сообщение отредактировано d91me 22-04-2012 21:10 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
d91me
Новичок
Сообщений: 19
Регистрация: 22-02-2012


23-04-2012 01:11
Думаю это уже не песочница, может многим пригодится
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
pnedelko
Новичок
Сообщений: 13
Регистрация: 09-03-2012


25-04-2012 17:31
Да, по ходу можно переопределять только tpl, css, js.
Если надо переопределять php файл модуля, то надо редактировать этот файл непосредственно, либо создавать свой новый модуль на основе базового.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
tympi
Cпециалист
Сообщений: 265
Регистрация: 27-12-2011


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