Jump to content

Canonical w prestashop


props

Recommended Posts

Ponoć dla pozycji w G istotne jest właściwe ustawienie linków w link rel="canonical"

Niestety nie zauważyłem w PS możliwości ustawienia tych linków (headre.tpl) jest ujednolicony dla wszystkich stron. Jest do tego jakiś moduł?

Link to comment
Share on other sites

Wziąłem na tapetę pliki z blocktopmenu (blocktopmenu.php i blocktopmenu.tpl) ale nie zauważyłęm tam żadego kodu, który byłby "wstrzykiwany" do sekcji HEAD. Wszystko stamtąd idzie do body.
Możesz bliżej wyjaśnić na czym polegać maja zmiany w tych dwóch plikach?

 

 

nie wiem z jakich modułów korzystasz.

zwykle to blocklanguages,blockcurrencies,blocksearch,blockuserinfo,blocktopmenu, blockpermanentlinks

 

wszystkie pliki tpl z tych modułów

Link to comment
Share on other sites

przez header miałem na myśli górną cześć strony, a nie sekcje <head></head>

blocktopmenu jako jedyny ze wszystkich modułów generuje swoją treść w pliku php tj blocktopmenu.php

linki dla kategorii generowane są w funkcji:

	private function getCategory($id_category, $id_lang = false, $id_shop = false)
	{
		$id_lang = $id_lang ? (int)$id_lang : (int)Context::getContext()->language->id;
		$category = new Category((int)$id_category, (int)$id_lang);

		if ($category->level_depth > 1)
			$category_link = $category->getLink();
		else
			$category_link = $this->context->link->getPageLink('index');

		if (is_null($category->id))
			return;

		$children = Category::getChildren((int)$id_category, (int)$id_lang, true, (int)$id_shop);
		$selected = ($this->page_name == 'category' && ((int)Tools::getValue('id_category') == $id_category)) ? ' class="sfHoverForce"' : '';

		$is_intersected = array_intersect($category->getGroups(), $this->user_groups);
		// filter the categories that the user is allowed to see and browse
		if (!empty($is_intersected))
		{
			$this->_menu .= '<li '.$selected.'>';
			$this->_menu .= '<a href="'.Tools::HtmlEntitiesUTF8($category_link).'">'.$category->name.'</a>';

			if (count($children))
			{
				$this->_menu .= '<ul>';

				foreach ($children as $child)
					$this->getCategory((int)$child['id_category'], (int)$id_lang, (int)$child['id_shop']);

				$this->_menu .= '</ul>';
			}
			$this->_menu .= '</li>';
		}
	}
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...