Polskie wsparcie PrestaShop
PrestaShop => PrestaShop 1.6 => Wątek zaczęty przez: bejkrools w Sierpień 31, 2015, 04:09:22 pm
-
Witajcie, problem dotyczy braku ładowania dowolnego pliku javascript w module. Pliki CSS ładują się poprawnie! Robię to w podręcznikowy sposób:
public function install()
{
if (!parent::install() ||
!$this->registerHook('header') ||
!Configuration::updateValue('MINIMODULE_NAME', 'my friend')
) return false;
return true;
}
public function hookDisplayHeader()
{
$this->context->controller->addCSS($this->_path.'css/minimodule.css', 'all');
$this->context->controller->addJS($this->_path.'js/minimodule.js');
}
ale próbowałem też:
public function hookDisplayHeader($params) / hookHeader() / hookHeader($params)
{
$this->context->controller->addCSS($this->_path.'css/minimodule.css', 'all');
$this->context->controller->addJS($this->_path.'js/minimodule.js');
}
zawsze ładuje się tylko plik css, pliki js nie chcą się wyświetlać w źródle, sprawdzałem też w firebugu, css poprawnie, JS niepoprawnie. Ścieżki i nazwy plików są prawidłowe. Gdzie szukać problemu?
-
zaczynajac od podstaw, nie ma czegos takiego jak display w headrze ;) samo $this->registerHook('header') sugeruje, ze ma to byc hookHeader(). kazdego, czy potrzeba czy nie laduj z $params.
po kazdej zmianie nazwy hook nalezy odinstalowac i zainstalowac na nowo modul (wyczysc).
-
Dzięki, spróbuję jutro poprawić. Z tym hookDisplayHeader zasugerowałem się oficjalną dokumentacją dla tej wersji PS, gdzie jest właśnie hookDisplayHeader, poza tym zawsze CSS ładował się poprawnie... Napisze jutro jak poszło :-)
-
Dzięki, spróbuję jutro poprawić. Z tym hookDisplayHeader zasugerowałem się oficjalną dokumentacją dla tej wersji PS, gdzie jest właśnie hookDisplayHeader, poza tym zawsze CSS ładował się poprawnie... Napisze jutro jak poszło :-)
Wszystko się zgadza JS ładują się poprawnie, podsumowując:[/size]- zawsze public function hookHeader($params) (tylko skąd w oficjalnym tutku hookDisplayHeader... [/size]http://doc.prestashop.com/display/PS16/Displaying+content+on+the+front+office (http://doc.prestashop.com/display/PS16/Displaying+content+on+the+front+office))[/font]
- [/size]przed obejrzeniem efektów[/size] [/size]wyczyścić [/size]moduł (opcja Wyczyść w menu przy nazwie modułu na liście modułów)
-
A jednak jest coś nie tak kiedy uruchamiam kontroler modułu. Tam w nagłówku widoczne są tylko CSS.
modules/minimodule/controllers/front/showgame.php
include_once(_PS_ROOT_DIR_.'\config\config.inc.php');
include_once(_PS_ROOT_DIR_.'\header.php');
include_once(dirname(__FILE__).'/../../minimodule.php');
$module = new minimodule();
echo $module->showGame();
include_once(_PS_ROOT_DIR_.'\footer.php');
[size=78%]plik modules/minimodule/tpl/showgame.tpl[/size]
[/size]
<!-- Mini Module -->
<div id="mini-module">
<div class="row">
Próby z JSONP
<>
<div class="row-centered">
<a href="#" class="button1 btn btn-default" role="button"><span>Button 1</span></a>></a>
<div id="testLabel"><>
<>
<div class="row game-category">
<h2>Popular</h2>
<>
<div class="row row-centered">
{foreach from=$games_icon item=picture}
<div class="col-lg-3 col-sm-4 col-xs-6 col-centered">
<img src="{$picture|escape:'htmlall':'UTF-8'}" class="img-responsive"><br>
<>
{/foreach}
<>
<>
<!-- /Mini Module -->
[size=78%]
plik modules/minimodule/minimodule.php
[/size]public function showGame()
{
global $smarty;
$pictures_scan = scandir(__DIR__.'/img/game_icons/');
$pictures = array_diff($pictures_scan, array('.', '..'));
// echo '<pre>';
// var_dump($pictures);
// echo '</pre>';
foreach($pictures as $picture_name)
{
$games_icon[] = $this->context->link->protocol_content.Tools::getMediaServer($picture_name).$this->_path.'img/game_icons/'.$picture_name;
}
$smarty->assign(array(
'games_icon' => $games_icon,
));
return $this->display(__FILE__, 'tpl/showgame.tpl');
}
-
I jeszcze raz ja, znalazłem rozwiązanie. Oprócz zastosowania poprzednich rad okazało się, że źle robiłem kontrolery, niezgodnie ze specyfikacją. po odpowiednich modyfikacjach wszystko działa jak należy.
Dla zainteresowanych: http://nemops.com/creating-new-pages-in-prestashop/#.VeVMaPntmko (http://nemops.com/creating-new-pages-in-prestashop/#.VeVMaPntmko)
Dla moderatora: możesz zmoderować moje posty w całość, sorry za bałagan, temat zamknięty :-)