sonjasonja Posted March 21, 2016 Share Posted March 21, 2016 Ik heb een shop in PS 1.6.0.9. Drietalig. Alles werkt prima. Maar als ik bij de frontoffice (dus als bezoeker) mijn blogpagina van taal wissel, krijg ik een 404 error. Check het hier: www.unitycosmetics.com/nl/blog De blog is nederlands, maar ook beschikbaar in engels en duits. Zodra je op het vlaggetje klikt voor duits of engels, komt er een melding: http://www.unitycosmetics.com/en/index.php?controller=blog&fc=module Als je bij www.unitycosmetics.com/nl/blog de NL wijzigt in EN of DE (kleine letters), dan zie je wel de engelse en resp. duitse blog (het ligt dus niet aan de htaccess, de blogpagina's zijn er gewoon in alle drie de talen). Ik heb nergens in deze shop een vertaalprobleem, alleen maar bij deze blog. De blog is een module PrestaBlog. De ontwikkelaar zegt dat de blog helemaal goed is, en vermoedt dat het probleem van Blocklanguages komt. We hebben blocklanguages (language selector block, versie 1.5.0) al verwijderd, een fresh install gedaan, toch blijft dit probleem bestaan. Iemand een idee hoe ik kan achterhalen wat deze error veroorzaakt (en hoe ik er van af kan komen)? Ik ben geen 'pro' in programmeren e.d., ik hoop dat iemand me op weg kan helpen... Link to comment Share on other sites More sharing options...
sonjasonja Posted March 21, 2016 Author Share Posted March 21, 2016 @MDekker, dank voor de reactie. Misschien wil je me nog een beetje verder op weg helpen ;-) Het stukje functionaliteit wat je vermeld, dat moet ik toevoegen in ftp, in /modules/blocklanguages/blocklanguages.tpl ? Of in een andere file? Maakt het iets uit op welke plek dat stukje wordt neergezet? In Blocklanguages.tpl staat nu dit: <!-- Block languages module --> {if count($languages) > 1} <div id="languages_block_top"> <div id="countries"> {* @todo fix display current languages, removing the first foreach loop *} {foreach from=$languages key=k item=language name="languages"} {if $language.iso_code == $lang_iso} <p class="selected_language"> <img src="{$img_lang_dir}{$language.id_lang}.jpg" alt="{$language.iso_code|escape:'html':'UTF-8'}" width="16" height="11" /> </p> {/if} {/foreach} <ul id="first-languages" class="countries_ul"> {foreach from=$languages key=k item=language name="languages"} <li {if $language.iso_code == $lang_iso}class="selected_language"{/if}> {if $language.iso_code != $lang_iso} {assign var=indice_lang value=$language.id_lang} {if isset($lang_rewrite_urls.$indice_lang)} <a href="{$lang_rewrite_urls.$indice_lang|escape:htmlall}" title="{$language.name|escape:'html':'UTF-8'}" rel="alternate" hreflang="{$language.iso_code|escape:'html':'UTF-8'}"> {else} <a href="{$link->getLanguageLink($language.id_lang)|escape:htmlall}" title="{$language.name|escape:'html':'UTF-8'}" rel="alternate" hreflang="{$language.iso_code|escape:'html':'UTF-8'}"> {/if} {/if} <img src="{$img_lang_dir}{$language.id_lang}.jpg" alt="{$language.iso_code|escape:'html':'UTF-8'}" width="16" height="11" /> {if $language.iso_code != $lang_iso} </a> {/if} </li> {/foreach} </ul> </div> </div> <script type="text/javascript"> $(document).ready(function () { $("#countries").mouseover(function(){ $(this).addClass("countries_hover"); $(".countries_ul").addClass("countries_ul_hover"); }); $("#countries").mouseout(function(){ $(this).removeClass("countries_hover"); $(".countries_ul").removeClass("countries_ul_hover"); }); }); </script> {/if} <!-- /Block languages module --> Link to comment Share on other sites More sharing options...
sonjasonja Posted March 21, 2016 Author Share Posted March 21, 2016 en in blocklanguages.php staat dit: if (!defined('_PS_VERSION_')) exit; class BlockLanguages extends Module{ public function __construct() { $this->name = 'blocklanguages'; $this->tab = 'front_office_features'; $this->version = '1.5.0'; $this->author = 'PrestaShop'; $this->need_instance = 0; parent::__construct(); $this->displayName = $this->l('Language selector block'); $this->description = $this->l('Adds a block allowing customers to select a language for your store\'s content.'); $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_); } public function install() { return (parent::install() && $this->registerHook('displayNav') && $this->registerHook('displayHeader')); } protected function _prepareHook($params) { $languages = Language::getLanguages(true, $this->context->shop->id); if (!count($languages)) return false; $link = new Link(); if ((int)Configuration::get('PS_REWRITING_SETTINGS')) { $default_rewrite = array(); if (Dispatcher::getInstance()->getController() == 'product' && ($id_product = (int)Tools::getValue('id_product'))) { $rewrite_infos = Product::getUrlRewriteInformations((int)$id_product); foreach ($rewrite_infos as $infos) $default_rewrite[$infos['id_lang']] = $link->getProductLink((int)$id_product, $infos['link_rewrite'], $infos['category_rewrite'], $infos['ean13'], (int)$infos['id_lang']); } if (Dispatcher::getInstance()->getController() == 'category' && ($id_category = (int)Tools::getValue('id_category'))) { $rewrite_infos = Category::getUrlRewriteInformations((int)$id_category); foreach ($rewrite_infos as $infos) $default_rewrite[$infos['id_lang']] = $link->getCategoryLink((int)$id_category, $infos['link_rewrite'], $infos['id_lang']); } if (Dispatcher::getInstance()->getController() == 'cms' && (($id_cms = (int)Tools::getValue('id_cms')) || ($id_cms_category = (int)Tools::getValue('id_cms_category')))) { $rewrite_infos = (isset($id_cms) && !isset($id_cms_category)) ? CMS::getUrlRewriteInformations($id_cms) : CMSCategory::getUrlRewriteInformations($id_cms_category); foreach ($rewrite_infos as $infos) { $arr_link = (isset($id_cms) && !isset($id_cms_category)) ? $link->getCMSLink($id_cms, $infos['link_rewrite'], null, $infos['id_lang']) : $link->getCMSCategoryLink($id_cms_category, $infos['link_rewrite'], $infos['id_lang']); $default_rewrite[$infos['id_lang']] = $arr_link; } } $this->smarty->assign('lang_rewrite_urls', $default_rewrite); } return true; } /** * Returns module content for header * * @param array $params Parameters * @return string Content */ public function hookDisplayTop($params) { if (!$this->_prepareHook($params)) return; return $this->display(__FILE__, 'blocklanguages.tpl'); } public function hookDisplayNav($params) { return $this->hookDisplayTop($params); } public function hookDisplayHeader($params) { $this->context->controller->addCSS($this->_path.'blocklanguages.css', 'all'); }} Link to comment Share on other sites More sharing options...
sonjasonja Posted March 21, 2016 Author Share Posted March 21, 2016 Natuurlijk fijn dat het er goed uit ziet. Maar ook jammer, want de zoektocht is dus nog steeds gaande. Enig idee wat het dan wel kan zijn (of hoe ik erachter kan komen)? Ik zie wel, dat als ik in Chrome bij zo'n foutmelding (na het aanklikken van een ander taalvlaggetje) op control-u klik, dat ik onderstaande tekst zie (een stukje daaruit heb ik hier gecopieerd), daar lijkt de live chat pro module (lpc) ook iets te doen met de blog (controller=blog) ?? Maar als ik die module live chat pro verwijder, dan werkt de blog nog steeds niet, dus dat lijkt het ook niet te zijn... gek word ik er van... */;lcp_shop_domain="www.unitycosmetics.com";lcp_module_name="livechatpro";lcp_db_prefix="ps_";lcp_path="/modules/livechatpro/";lcp_url="http://www.unitycosmetics.com/modules/livechatpro/";lcp_current_url="http://www.unitycosmetics.com/en/index.php?controller=blog&fc=module";lcp_token="d5f170067eff895ee0f02972d134cc73";lcp_id_employee="";lcp_emoticons=JSON.parse(JSON.stringify({"0":{"id_emoticon":"1","code":":)","filename":"happy.gif","alias":"N"},"1":{"id_emoticon":"3","code":":(","filename":"sad.gif","alias":"N"},"2":{"id_emoticon":"5","code":";)","filename":"winking.gif","alias Link to comment Share on other sites More sharing options...
sonjasonja Posted March 21, 2016 Author Share Posted March 21, 2016 In themes/jewelstore/modules/blocklanguages/blocklanguages.tpl staat dit (en bijna onderaan staat volgens mij jouw suggestie, alleen daar staat ook nog het volgende stukje achter: title="{$language.name}">: COPY VAN BLOCKLANGUAGES.TPL: <div id="languages_block_top"> <div id="countries"> <ul style="list-style:none;"> {foreach from=$languages key=k item=language name="languages"} <li {if $language.iso_code == $lang_iso}class="selected_language"{/if} style="display:inline-block;margin:2px;"> {if $language.iso_code != $lang_iso} {assign var=indice_lang value=$language.id_lang} {if isset($lang_rewrite_urls.$indice_lang)} <a href="{$lang_rewrite_urls.$indice_lang|escape:htmlall}" title="{$language.name}"> {else} <a href="{$link->getLanguageLink($language.id_lang)|escape:htmlall}" title="{$language.name}"> {/if} {/if} <img src="{$img_lang_dir}{$language.id_lang}.jpg" alt="{$language.iso_code}" width="16" height="11" /> {if $language.iso_code != $lang_iso} </a> {/if} </li> {/foreach} </ul> </div> </div> Link to comment Share on other sites More sharing options...
sonjasonja Posted March 21, 2016 Author Share Posted March 21, 2016 echt super dat je even meekijkt! Templates worden opnieuw gecompileerd bij wijzigingen, dat staat goed ingesteld. We hebben een module 'one page cache', maar die hebben we al bewust gedeactiveerd (jammer, want het kwam de snelheid van de site ten goede) zodat het zeker daar niet vandaan kan komen.... Link to comment Share on other sites More sharing options...
sonjasonja Posted March 21, 2016 Author Share Posted March 21, 2016 Ga ik doen! Gewoon installeren in root/modules neem ik aan? Link to comment Share on other sites More sharing options...
sonjasonja Posted March 21, 2016 Author Share Posted March 21, 2016 o gaat via backoffice... mooi, hij is aan het installeren.... hij is inmiddels geinstalleerd Link to comment Share on other sites More sharing options...
sonjasonja Posted March 21, 2016 Author Share Posted March 21, 2016 die waslijst die ik als attachment moet bijvoegen, kan dat in een html file? Link to comment Share on other sites More sharing options...
sonjasonja Posted March 21, 2016 Author Share Posted March 21, 2016 omg, ik durf het bijna niet te vragen, maar eh: hoe kan ik dat bestand als bijlage meesturen? Link to comment Share on other sites More sharing options...
sonjasonja Posted March 21, 2016 Author Share Posted March 21, 2016 BBCode Mode Remove Format Special BBCodeFontFontSizeSize Text Color Smiley My Media Find Replace Undo Redo Copy Paste Paste as Plain Text Paste from Word Options Bold Italic Underline Strike Through Subscript Superscript Insert/Remove Bulleted List Insert/Remove Numbered List Link Unlink Image Code Quote Twitter Decrease Indent Increase Indent Align Left Center meer dan bovenstaande opties zie ik niet (dat is al de uitgebreide toolbar)... Link to comment Share on other sites More sharing options...
sonjasonja Posted March 21, 2016 Author Share Posted March 21, 2016 niets te zien... ik heb me wel eens slimmer gevoeld moet ik zeggen... Maar ik zie gelukkig dat je 'm hebt... Link to comment Share on other sites More sharing options...
sonjasonja Posted March 21, 2016 Author Share Posted March 21, 2016 override/classes of override/controllers ? moet ik zoeken naar iets bijzonders? Link to comment Share on other sites More sharing options...
sonjasonja Posted March 21, 2016 Author Share Posted March 21, 2016 Override classes: adres cart categorie customer dispatcher group hook index link product geen gekke dingen (voor zover ik er verstand van heb) Link to comment Share on other sites More sharing options...
sonjasonja Posted March 23, 2016 Author Share Posted March 23, 2016 MDekker, je bent mijn superheld! Al 4 maanden ben ik aan het zoeken. De ontwikkelaar van de blog-module kon me hier niet mee helpen (en dat snap ik ook wel, want het probleem zat niet in de module zelf). En jawel hoor, jij hebt het gevonden: door Link.php te verwijderen is het probleem opgelost !!!!! Helemaal super, geweldig dat je hier zo uitgebreid naar hebt willen kijken. Mijn dank is groot!!!! Link to comment Share on other sites More sharing options...
sonjasonja Posted March 24, 2016 Author Share Posted March 24, 2016 nee, ik gebruik geen separate module voor url. Alleen de standaard 'pretty url' die in de backoffice aan staat, maar daar heeft die link.php volgens mij niets mee te maken (want dat werkt nu allemaal nog). Ik heb verder ook niet gemerkt dat er nu gekke dingen gebeuren in de webshop (na verwijdering van link.php), ik had 't eerst even 'uitgetest' gisteren voordat ik het in de liveshop verwijderde. Wel heel fijn dat het nu allemaal goed werkt, de blog werd veel gelezsen en gaf continu foutmeldingen als iemand van taal switchte. Link to comment Share on other sites More sharing options...
sonjasonja Posted March 24, 2016 Author Share Posted March 24, 2016 nee, hoe de override daar is gekomen, dat is me een raadsel. We hebben wel een module One-Page-Checkout waar de developer 2 jaar geleden iets aan heeft moeten doen om het goed te laten werken. En het Jewelstore-theme is ook niet het allervriendelijkste theme qua gebruik (maar ja, als je zoiets dan na 5 jaar wilt gaan veranderen, dan is dat wel een heftige). We hebben vorig jaar zelf de shop geupgraded van 1.3 (!!) naar 1.6.0.9, dat was nogal heftig, misschien is er toen wel iets misgegaan zonder dat wij dat hebben gemerkt, en komt het nu pas naar voren door die prestashop blog? Ik herinner me echter wel, dat helemaal in het begin, toen we de prestablog installeerden, dat alles toen wel goed leek te werken. In die prestashopblog zit ook een 'enable friendly url', misschien dat daar iets wordt gecreëerd. Dat zal ik eens in de gaten houden als we in de blog weer een nieuw item aanmaken (al die items hebben friendly url, als ik na een nieuwe post merk dat het vertalen weer hetzelfde euvel vertoont, dan komt het dus daar vandaan en dan is het een kwestie van verwijderen van link.php). Ik ga daar nu wel extra op letten, die overrides, ik snap inderdaad dat die zo beperkt mogelijk zouden moeten zijn... heel erg bedankt voor het meekijken, hier was ik zelf nooit uitgekomen (ik had ook al gepost op het engelse forum, kreeg een reactie van Vekia die dacht dat het de translationblock was, maar 't was dus toch iets anders). 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