Автор Тема: Prestashop 404 ошибка  (Прочитано 1840 раз)

18 Января 2014, 14:59:20
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Снова всем привет! После изменения номеров id смс страниц в БД (как мне кажется из-за этого) стали появляться ошибки... когда я на сайте нажимаю на одну смс страничку, а затем на вторую, то на второй странице появляется page-not-found, 404 ошибка, но если я снова на неё нажимаю, то она отображается... странно так, в чем моя ошибка? Как решить эту проблему?
18 Января 2014, 20:14:46
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 13446
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Кеш очистили после изменений?
Если отключить чпу будет работать без ошибок?
19 Января 2014, 15:40:23
Ответ #2
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Кеш очистили после изменений?
Если отключить чпу будет работать без ошибок?
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> - исправила на этот и заработало
Теперь этой ошибки нет, но из-за чего она появилась - я не знаю...
19 Января 2014, 16:20:18
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 1010
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{$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
*/
19 Января 2014, 16:44:55
Ответ #4
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
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
*/
19 Января 2014, 17:11:37
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 13446
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Описание как работает функция, что получает и что возвращает.
Используйте всегда внутренние функции prestashop в своих шаблонах, тогда и проблем не будет.
Для ссылок нужно использовать
getProductLink
getCategoryLink
getCMSCategoryLink
getCMSLink
getImageLink
getPageLink
Все функции можно посмотреть в классе Link (файл  Link.php)
19 Января 2014, 18:21:53
Ответ #6
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я восхищаюсь вашим умом и вашими знаниями!!!
Значит оставляю ссылку
getPageLinkА почему в моём покупном шаблоне прописывали другую ссылку?
<li><a href="new-products.php">{l s='New products' mod='tmfooterlinks'}</a></li>[code]
19 Января 2014, 18:46:25
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 33009
  • Репутация: +26760/-0
    • Просмотр профиля
Потому что делают так, качество не нужно, лишбы дешевле было.  Проблемы пусть пользователь ищет, так и время на тестирование и исправление тратить не нужно. Качественных шаблонов мало, покупая готовый нужно постояно его проверять и подгонять.
20 Января 2014, 13:22:19
Ответ #8
  • Новичок
  • *
  • Сообщений: 29
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ребята, огромное вам спасибо за ваши ценные советы :-* :)