Prestashop 404 ошибка

Автор Arty, 18 января 2014, 14:59:20

« назад - далее »

Arty

Снова всем привет! После изменения номеров id смс страниц в БД (как мне кажется из-за этого) стали появляться ошибки... когда я на сайте нажимаю на одну смс страничку, а затем на вторую, то на второй странице появляется page-not-found, 404 ошибка, но если я снова на неё нажимаю, то она отображается... странно так, в чем моя ошибка? Как решить эту проблему?

Adik

Кеш очистили после изменений?
Если отключить чпу будет работать без ошибок?

Arty

#2
Цитата: Adik от 18 января 2014, 20:14:46
Кеш очистили после изменений?
Если отключить чпу будет работать без ошибок?
Adik, кэш я часто чищу, не в нём было дело... Ошибка была только в футере (что ссылки в футере через одну открывались, хотя до чпу и до изменения id смс-страниц всё работало), а в карте сайта ссылки все работали, так я оттуда ссылки стащила, теперь работают все!!!!  8) ::)
<li><a href="new-products.php">{l s='New products' mod='tmfooterlinks'}</a></li> - изначальный код футера
<li><a href="{$link->getPageLink('new-products.php')}">{l s='New products' mod='tmfooterlinks'}</a></li> - исправила на этот и заработало

Теперь этой ошибки нет, но из-за чего она появилась - я не знаю...

tigran

{$link->getPageLink('new-products.php')}
Так будет работать с чпу и без него, при мульти-магазинах и нескольких языках.

public function getPageLink
/**
* Create a simple link
*
* @param string $controller
* @param bool $ssl
* @param int $id_lang
* @param string|array $request
* @param bool $request_url_encode Use URL encode
*
* @return string Page link
*/

Arty

tigran, что значит этот код?

public function getPageLink
/**
* Create a simple link
*
* @param string $controller
* @param bool $ssl
* @param int $id_lang
* @param string|array $request
* @param bool $request_url_encode Use URL encode
*
* @return string Page link
*/

Adik

Описание как работает функция, что получает и что возвращает.
Используйте всегда внутренние функции prestashop в своих шаблонах, тогда и проблем не будет.
Для ссылок нужно использовать
getProductLink
getCategoryLink
getCMSCategoryLink
getCMSLink
getImageLink
getPageLink

Все функции можно посмотреть в классе Link (файл  Link.php)

Arty

Я восхищаюсь вашим умом и вашими знаниями!!!
Значит оставляю ссылку
getPageLink
А почему в моём покупном шаблоне прописывали другую ссылку?
<li><a href="new-products.php">{l s='New products' mod='tmfooterlinks'}</a></li>[code]

coder

Потому что делают так, качество не нужно, лишбы дешевле было.  Проблемы пусть пользователь ищет, так и время на тестирование и исправление тратить не нужно. Качественных шаблонов мало, покупая готовый нужно постояно его проверять и подгонять.

Arty

Ребята, огромное вам спасибо за ваши ценные советы :-* :)