nuno.dinis Posted July 7, 2015 Share Posted July 7, 2015 Boa noite, Atualizei a versão do prestashop para a mais recente (1.6.1.0), e módulo de tags, desde então, não apareceu mais.Já alterei as posições, transplantei para o hook displayFooter (que é onde vai aparecer), juntamente com outros módulos (que aparecem no footer e não tiveram problemas).O que mais posso fazer para resolver a situação ? Obrigado. Link to comment Share on other sites More sharing options...
selectshop.at Posted July 8, 2015 Share Posted July 8, 2015 (edited) O módulo block tags nao tem gancho para o footer. Vc. tentando enganchar lá deve estar recebendo uma mensagem de erro. Se quiser que o módulo se enganche no displaFooter entao vai ther que alterar o ficheiro blocktags,php (/modules/blocktags/blcktags.php), adicionando o gancho. Tome como modêlo, os outrois ganchos lá no script, pois vai ter que adicionar algumas linhas (function hookDisplayFooter) Edited July 8, 2015 by selectshop.at (see edit history) Link to comment Share on other sites More sharing options...
nuno.dinis Posted July 8, 2015 Author Share Posted July 8, 2015 (edited) Obrigado pela resposta. Já tinha tentado fazer isso.As alterações que fiz (blocktags.php) foram: function install() { $success = (parent::install() && $this->registerHook('header') && $this->registerHook('leftColumn') && $this->registerHook('addproduct') && $this->registerHook('updateproduct') && $this->registerHook('deleteproduct') && $this->registerHook('footer') ## adicionei isto && Configuration::updateValue('BLOCKTAGS_NBR', 20) && Configuration::updateValue('BLOCKTAGS_MAX_LEVEL', 3) && Configuration::updateValue('BLOCKTAGS_RANDOMIZE', true) ); $this->_clearCache('*'); return $success; } E, com base nas que já tinha, acrescentei esta função: function hookDisplayFooter($params) { $this->_clearCache('*'); } Estou a fazer algo de errado ? Edited July 8, 2015 by nuno.dinis (see edit history) Link to comment Share on other sites More sharing options...
selectshop.at Posted July 8, 2015 Share Posted July 8, 2015 && $this->registerHook('footer') Este hook nao existe Vc, quer adicionar ao displayFooter. Além tdo mais as linhas se repetem algumas vezes. vc. vai ter que verificar de acordo com o modelo dos outros hooks. Este módulo possue um css. próprio, pelo que lembro, acho que vc. vai ter que extender também este css para ficar compatível com o footer e nao rasgar. Link to comment Share on other sites More sharing options...
nuno.dinis Posted July 8, 2015 Author Share Posted July 8, 2015 Já o fiz, mas sem os resultados esperados.O css eu formulo, caso necessário, depois de o módulo aparecer. A questão principal é que ele nem aparece. É o único módulo que não aparece desde que atualizei o Prestashop :/ Link to comment Share on other sites More sharing options...
selectshop.at Posted July 8, 2015 Share Posted July 8, 2015 Qual o link da sua página ? Link to comment Share on other sites More sharing options...
selectshop.at Posted July 8, 2015 Share Posted July 8, 2015 (edited) E, com base nas que já tinha, acrescentei esta função: function hookDisplayFooter($params) { $this->_clearCache('*'); } Dei uma olhada no módulo. Vc. esqueceu o public na frente da funcao.... deveria sair assim: function hookdispalyFooter($params) { $this->_clearCache('*'); } E ainda falta mais abaixo: function hookdisplayFooter($params) { return $this->hookdisplayFooter($params); } Edited July 8, 2015 by selectshop.at (see edit history) Link to comment Share on other sites More sharing options...
nuno.dinis Posted July 8, 2015 Author Share Posted July 8, 2015 (edited) Ainda está em fase de desenvolvimento. É: site Edited July 8, 2015 by nuno.dinis (see edit history) Link to comment Share on other sites More sharing options...
selectshop.at Posted July 8, 2015 Share Posted July 8, 2015 Eu nao sei o que andaram alterando, mas se nao conseguir, entao vai mesmo pelo hook footer. Veja aqui neste tópico. Me parece que a página principal chama outros ganchos que ass outras páginas, entao seria hoo footer mesmo : https://www.prestashop.com/forums/topic/268297-moving-block-tags-to-footer/ Link to comment Share on other sites More sharing options...
nuno.dinis Posted July 8, 2015 Author Share Posted July 8, 2015 Mesmo dessa forma não consigo. Esse foi o tópico pelo qual me guiei na primeira tentativa.Quando faço o que sugeriu no tópico acima retorna-me o seguinte erro: PHP Fatal error: Cannot redeclare BlockTags::hookdisplayFooter() in modules/blocktags/blocktags.php on line 181 Link to comment Share on other sites More sharing options...
selectshop.at Posted July 8, 2015 Share Posted July 8, 2015 (edited) Deveria entao ficar assim: ca. linha 55 && $this->registerHook('footer') e ca. linha 87 public function hookFooter($params) { $this->_clearCache('*'); } e ca. linha 169 function hookFooter($params) { return $this->hookLeftColumn($params); } Nao altere aqui o LeftColumn, pois este está especificado mais acima o que deverá acontecer. Eu somente dupliquei a funcao. Se vc. for colocar um css próprio entao deverá este bloco ser assim: function hookFooter($params) { $this->context->controller->addCSS(($this->_path).'oseu.css', 'all'); } Edited July 8, 2015 by selectshop.at (see edit history) Link to comment Share on other sites More sharing options...
nuno.dinis Posted July 8, 2015 Author Share Posted July 8, 2015 Vou testar. No final de efetuar as alterações estou a desinstalar e instalar o módulo. É correto ? Link to comment Share on other sites More sharing options...
selectshop.at Posted July 8, 2015 Share Posted July 8, 2015 (edited) Sim correto para instalar no hook do footer. Adicionei as linhas aprox. aonde deverá adicionar. Controle lá os blocos para nao esquecer nada aberto. Edited July 8, 2015 by selectshop.at (see edit history) Link to comment Share on other sites More sharing options...
nuno.dinis Posted July 8, 2015 Author Share Posted July 8, 2015 Devido a ter duplicado a função ele queixa-se Fatal error: Cannot redeclare BlockTags::hookFooter() in modules/blocktags/blocktags.php on line 177 Aqui: function hookFooter($params) { return $this->hookLeftColumn($params); } Link to comment Share on other sites More sharing options...
Daniel - PrestaBR Posted July 8, 2015 Share Posted July 8, 2015 Não pode duplicar a função. O correto seria: public function hookDisplayFooter($params) // ou hookFooter { $this->_clearCache('*'); //Você precisa limpar o cache toda vez que carregar o hook mesmo??? return $this->hookLeftColumn($params); } Se vc. for colocar um css próprio, recomendo colocar no header, que é o gancho padrão para CSS/JS: function hookHeader($params) { $this->context->controller->addCSS(($this->_path).'oseu.css', 'all'); } Link to comment Share on other sites More sharing options...
nuno.dinis Posted July 8, 2015 Author Share Posted July 8, 2015 Olá, Não sei se preciso limpar a cache sempre que carrego o hook, estou-me a guiar pelos exemplos já existentes neste ficheiro.Já coloquei assim, não há meio desta módulo aparecer! Link to comment Share on other sites More sharing options...
selectshop.at Posted July 8, 2015 Share Posted July 8, 2015 tente em vez: function hookFooter($params) { return $this->hookFooter($params); } Link to comment Share on other sites More sharing options...
selectshop.at Posted July 8, 2015 Share Posted July 8, 2015 (edited) Não pode duplicar a função. O correto seria: public function hookDisplayFooter($params) // ou hookFooter { $this->_clearCache('*'); //Você precisa limpar o cache toda vez que carregar o hook mesmo??? return $this->hookLeftColumn($params); } Pelo que tenho lido os hooks na página principal tem outro nome. displayFooter nao serve. Mas tente.... tutorial do vekia, mas já um tanto velho: https://mypresta.eu/en/art/developer/prestashop-hook-list.html nao encontrei nada mais recente... Sim limpar cache vc. terá que limpara toda vez.... Edited July 8, 2015 by selectshop.at (see edit history) Link to comment Share on other sites More sharing options...
nuno.dinis Posted July 8, 2015 Author Share Posted July 8, 2015 tente em vez: function hookFooter($params) { return $this->hookFooter($params); } Ao colocar desta forma dá-me erro 500 na página. Liguei o modo dev e continua a dar o erro 500, sem fazer output de erros. Inclusive verifiquei no error log e também não dá erro. Link to comment Share on other sites More sharing options...
nuno.dinis Posted July 8, 2015 Author Share Posted July 8, 2015 Pelo que tenho lido os hooks na página principal tem outro nome. displayFooter nao serve. Mas tente.... tutorial do vekia, mas já um tanto velho: https://mypresta.eu/en/art/developer/prestashop-hook-list.html nao encontrei nada mais recente... Sim limpar cache vc. terá que limpara toda vez.... Nas posições o hook tem o nome de displayFooter Link to comment Share on other sites More sharing options...
selectshop.at Posted July 8, 2015 Share Posted July 8, 2015 (edited) Sim eu sei, mas também os outros hooks como left column nao chamam displayLeftColumn se vc. for verificar no tutorial e comparar com o código do módulo. Lá está:&& $this->registerHook('leftColumn') em vez de displayLeftColumn. O problema é a transicao de um design para outro. Muitos módulo ainda possuem hooks antigos, outros já foram retrablahados com os hooks novos como displayFooter por ex. Aqui somente tentando mesmo até der certo.... Edited July 8, 2015 by selectshop.at (see edit history) Link to comment Share on other sites More sharing options...
nuno.dinis Posted July 8, 2015 Author Share Posted July 8, 2015 Mas acha que o problema está no facto de eu ter atualizado a versão do prestashop ou do módulo em si ? É que todos os módulos dão perfeitamente, à exceção desse. Link to comment Share on other sites More sharing options...
selectshop.at Posted July 8, 2015 Share Posted July 8, 2015 Nao sei te dizer. PS 1.6.1.0 está com core retrabalhado (também nos hooks). O módulo também foi atualizado. Fica difícil dizer. Vc. tento ou que o Daniel sugeriu ? Também nao deu certo ? Link to comment Share on other sites More sharing options...
nuno.dinis Posted July 8, 2015 Author Share Posted July 8, 2015 Sim, estou a tentar todas as soluções que me estão a propor mas continua a não querer mostrar.. Link to comment Share on other sites More sharing options...
selectshop.at Posted July 8, 2015 Share Posted July 8, 2015 Entao, agora também eu estava adaptando um módulo e também sem solucao. Eu nao sei, mas acho que os hooks andam um pouco bugados. Nada que funcionava antes, agora faz efeito, nem mais variáveis de traducao que adiciono nao mais aparecem. Muito estranho é que existe um módulo novo que se engancha em gancho do gancho. Sinto mais ainda nao descobri a técnica por trás... Também estou apanhando. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now