Jump to content

Adres domeny domain.com/pl


tskalar

Recommended Posts

Witam, jak dokonać przekierowania aby adres głównej domeny nie zawierał kodu języka domain.com/pl .

Po ustawieniu wersji językowych dla domeny głównej sklepu widnieje /pl . Nie chce indeksowac głównej domeny w ten sposób. Wersja językowa /de może zawierać w adresie domain.com/de.

 

Pozdrawiam tskalar

 

Link to comment
Share on other sites

Witam, metoda getLangLink() obecna jest w pliku Link.php klasa LinkCore.

 

Zamieniając :       

$prefix = Language::getIsoById($id_lang).'/';
              return str_replace('pl/','',$prefix);

usuniemy pl/ z adresu. Ponieważ wartośc brana z $_GET pytanie jak z powrotem przypisać dla $id_lang = 1 czyli wartość domyslnego języka?

 

 

$id_lang =1 w ifie nie działa.

Link to comment
Share on other sites

Witam, jak by ktoś potrzebował:

 

2 zmiany

1. Link.php

 protected function getLangLink($id_lang = null, Context $context = null, $id_shop = null)
    {
        if (!$context)
            $context = Context::getContext();

        if ((!$this->allow && in_array($id_shop, array($context->shop->id,  null))) || !Language::isMultiLanguageActivated($id_shop) || !(int)Configuration::get('PS_REWRITING_SETTINGS', null, null, $id_shop))
            return '';

        if (!$id_lang)
            $id_lang = $context->language->id;
        
        $prefix = Language::getIsoById($id_lang).'/';

        return str_replace('pl/', '', $prefix);
    }
	

2. Tools.php

    public static function switchLanguage(Context $context = null)
    {
        if (!$context)
            $context = Context::getContext();
        
        // Install call the dispatcher and so the switchLanguage
        // Stop this method by checking the cookie
        if (!isset($context->cookie))
            return;

        $cookie_id_lang = $context->cookie->id_lang;
        $configuration_id_lang = Configuration::get('PS_LANG_DEFAULT');


        if (($iso = Tools::getValue('isolang')) && Validate::isLanguageIsoCode($iso) && ($id_lang = (int)Language::getIdByIso($iso)))
            $_GET['id_lang'] = $id_lang;
                else
            $_GET['id_lang'] = $configuration_id_lang;
        // update language only if new id is different from old id
        // or if default language changed

        if ((($id_lang = (int)Tools::getValue('id_lang')) && Validate::isUnsignedId($id_lang) && $cookie_id_lang != (int)$id_lang)
            || (($id_lang == $configuration_id_lang) && Validate::isUnsignedId($id_lang) && $id_lang != $cookie_id_lang))
        {
            $context->cookie->id_lang = $id_lang;
            $language = new Language($id_lang);
            if (Validate::isLoadedObject($language) && $language->active)
                $context->language = $language;

            $params = $_GET;
            if (Configuration::get('PS_REWRITING_SETTINGS') || !Language::isMultiLanguageActivated())
                unset($params['id_lang']);
        }
    }
Edited by tskalar (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...