передний контроллер не будет загружать css и js из setMedia на модуле prestashop 1.7
Я пишу модуль PrestaShop для PrestaShop 1.7.2.1.
Я создал передний контроллер для моего модуля со следующим кодом:
<?php
require_once (__DIR__.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'php'.
DIRECTORY_SEPARATOR.'TuxInDb.php');
class TuxInModCarTypeCarTypeProductsModuleFrontController extends ModuleFrontController {
private $tuxDb;
public function initContent(){
parent::initContent();
$productIds = [];
$this->tuxDb = TuxInDb::getInstance();
$companyName = Tools::getValue('company_name');
$modelName = Tools::getValue('model_name');
$year = Tools::getValue('year');
$month = Tools::getValue('month');
$carType = Tools::getValue('car_type');
$carListCarTypeIds=$this->tuxDb->getCarListCarTypeIds($companyName,$modelName,$carType,$year,$month);
$productIds = $this->tuxDb->getProductIdsByCarListCarTypeIds($carListCarTypeIds);
$this->context->smarty->assign('product_ids',$productIds);
$this->setTemplate('module:tuxinmodcartype/views/templates/front/cartypeproducts.tpl');
}
public function setMedia() {
parent::setMedia();
$this->registerStylesheet('module-tuxinmodcartype-cartypeproducts-style','modules/'.$this->module->name.'/css/cartypeproducts.css');
$this->registerJavascript('module-tuxinmodcartype-cartypeproducts-js','modules/'.$this->module->name.'/js/cartypeproducts.js');
}
}
как вы можете видеть в setMedia()
я загружаю css и js файлы.
Я даже отладил его в xdebug, и я заметил, что эти строки кода фактически выполняются, но когда я пытаюсь просмотреть свой передний контроллер со следующим url-адресом:
http://prestashop.dev:8080/index.php?company_name=BMW&model_name=SERIA+1&year=2011&month=1&car_type=5+%D7%93%D7%9C%D7%AA%D7%95%D7%AA+%28%D7%94%D7%90%D7%A6%D7%B3%D7%91%D7%A7%29&fc=module&module=tuxinmodcartype&controller=cartypeproducts&id_lang=1
и я проверяю вкладку сети моего браузера google chrome, я заметил, что файл js и css, который мне нужен, не загружается.
есть идеи?
Я не вижу ошибок javascript или php (я также включил DEV в prestashop).
Ответы - передний контроллер не будет загружать css и js из setMedia на модуле prestashop 1.7 / front controller won't load css and js from setMedia on a prestashop 1.7 module

26.08.2017 11:19:45
Если путь к активу неправильный, Prestashop даже не добавит его в <head>
(или снизу в зависимости от настроек CCC) и не выбросит никаких ошибок.
Вероятно, ваш путь неверен, чтобы получить правильный путь, используйте это:
$this->registerStylesheet('module-tuxinmodcartype-cartypeproducts-style', $this->module->getPathUri() . 'css/cartypeproducts.css');
$this->registerJavascript('module-tuxinmodcartype-cartypeproducts-js', $this->module->getPathUri() . 'js/cartypeproducts.js');






12.06.2019 04:07:43
Это хорошо работает с Prestashop 1.7.икс
Добавить это внутри вашего ModuleFrontController:
public function setMedia()
{
parent::setMedia();
$this->addCSS($this->module->getPathUri().'views/css/style.css');
}
Надеюсь, это поможет!