Автор Тема: 500 Internal Server Error  (Прочитано 4664 раз)

20 Апреля 2012, 17:16:08
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте!

У меня вознила следующая проблема.
Сайт работает без нареканий. Все вроде бы ОК.

Но вот сторонние сервисы (Yandex Webmaster, SAPE, Webeffector и многие другие) выдают ошибку "500 Internal Server Error".
Т.е. при добавлении ссылки  в сервисы выдается эта ошибка.
С чем это может быть связано? Как решить эту проблему? Раньше этого не было. Я попытался обновить Prestashop автоматически... может быть это и является источником проблемы. Сама система не обновилась, т.е. версия выводится та же самая (PrestaShop™ 1.4.5.1).

Заранее благодарен за помощь!

П.С. на всякий случай прикрепляю файл (фото) с ошибкой.
20 Апреля 2012, 19:57:49
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 32999
  • Репутация: +26759/-0
    • Просмотр профиля
Часто при ошибке 500 проблемы в .htaccess. Удали его и сгенирируй заново.
20 Апреля 2012, 20:31:53
Ответ #2
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86057
  • Репутация: +25403/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ошибка 500 Internal Server Error
1. Ошибка в файле .htaccess.
2. Ошибки в шаблонах страниц (не правильные ссылки)
3. Не правильные права на файли, папки.
20 Апреля 2012, 23:52:08
Ответ #3
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо большое за подсказки!

Я бы не догадался.. оказывается проблема была действительно в шаблоне.

я вставил следующий код, удалив который все заработало!

{php}

defined("__WEFF") ||  define("__WEFF","1e4f08666578175c90fd6b639a27a137");
require_once($_SERVER["DOCUMENT_ROOT"]."/weff_".__WEFF."/weff_rl.php");
$weff_client->_config["link_separator"]="<br>";
$weff_client->_config["link_css_class"]="style_any";
echo $weff_client->links();

{/php}

Как его правильно оформить, чтобы он работал верно?
21 Апреля 2012, 11:35:08
Ответ #4
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102467
  • Репутация: +34217/-0
    • Просмотр профиля
В файле TPL можно использовать только переменные Smarty. Для того чтобы вставлять теги
{php},{include}нужно включить Поддержку тегов PHP в шаблонах Smarty
Для подключения стороннего php файла можно использовать HOOK.
27 Апреля 2012, 21:00:23
Ответ #5
  • Новичок
  • *
  • Сообщений: 9
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
19 Июля 2013, 17:35:29
Ответ #6
  • Новичок
  • *
  • Сообщений: 5
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
тему ап, как решили проблему? тоже пытаюсь добавить перелинковку, тот-же код, не работает
19 Июля 2013, 17:51:30
Ответ #7
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22126
  • Репутация: +17110/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
В файле TPL можно использовать только переменные Smarty. Для того чтобы вставлять теги
{php},{include}нужно включить Поддержку тегов PHP в шаблонах Smarty
Для подключения стороннего php файла можно использовать HOOK.
Если вставка кода не работает, то это запрещено в конф.сервера. Нужно запросить хостера изменить правила для Smarty.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
19 Июля 2013, 18:06:40
Ответ #8
  • Новичок
  • *
  • Сообщений: 5
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
т.е. мне надо вставить такой код:
{php},{include}
defined("__WEFF") ||  define("__WEFF","1e4f08666578175c90fd6b639a27a137");
require_once($_SERVER["DOCUMENT_ROOT"]."/weff_".__WEFF."/weff_rl.php");
$weff_client->_config["link_separator"]="<br>";
$weff_client->_config["link_css_class"]="style_any";
echo $weff_client->links();
{/php}
в файл footer.tpl
я не сильно разбираюсь в этом, но помоему не заработает, кстати в файле конфиг не нашел где подключить поддержку пхп тегов,
в Smarty.class.php нет такого кода PHP_TAG = true. и не совсем понятно что значит "Для подключения стороннего php файла можно использовать HOOK"
19 Июля 2013, 18:53:15
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 20843
  • Репутация: +25277/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
Код в шаблон вставляется так
{php}
    // здесь код который нужно вставить
   
{/php}
или подключить файл php в котором уже написан этот код
{include_php file='/path/to/ваш файл.php'}
{include_php '/path/to/ваш файл.php'}
Цитировать
"Для подключения стороннего php файла можно использовать HOOK"
Это значит создать модуль и в нем описать точку вывода блока с нужной информацией.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
19 Июля 2013, 18:57:14
Ответ #10
  • Новичок
  • *
  • Сообщений: 5
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
вставляю вот этот код в файл footer.tpl
{php}

defined("__WEFF") ||  define("__WEFF","1e4f08666578175c90fd6b639a27a137");
require_once($_SERVER["DOCUMENT_ROOT"]."/weff_".__WEFF."/weff_rl.php");
$weff_client->_config["link_separator"]="<br>";
$weff_client->_config["link_css_class"]="style_any";
echo $weff_client->links();

{/php}
и помимо того что перелинковка не работает так еще и часто появляется ошибка  500 Internal Server Error
19 Июля 2013, 19:00:14
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 20843
  • Репутация: +25277/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
Значит на сервере не разрешено использовать теги php в шаблонах smarty.
В поддержку напишите, спросите, что можно, а что нельзя. Может в справке у хостера написано.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
19 Июля 2013, 19:15:19
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 32999
  • Репутация: +26759/-0
    • Просмотр профиля
Проверено, работает. Можно вынести решение в отдельный пост.
Как сделать автоматическую перелинковку с сервисом  webeffector на prestashop магазине.

Создать файл
/tools/smarty/plugins/function.weff.php
<?php
/**
 * Smarty plugin
 */

function smarty_function_weff ($params, &$smarty){
    
defined("__WEFF") ||  define("__WEFF","1e4f08666578175c90fd6b639a27a137");
    require_once(
$_SERVER["DOCUMENT_ROOT"]."/weff_".__WEFF."/weff_rl.php");
    
$weff_client->_config["link_separator"]="<br>";
    
$weff_client->_config["link_css_class"]="style_any";
    return 
$weff_client->links();
}

?>

В файле  /themes/моя тема/footer.tpl добавить {weff}.
...
<!-- Footer -->
<div id="footer" class="grid_9 alpha omega clearfix">
{$HOOK_FOOTER}
{if $PS_ALLOW_MOBILE_DEVICE}
<p class="center clearBoth"><a href="{$link->getPageLink('index', true)}?mobile_theme_ok">{l s='Browse the mobile site'}</a></p>
{/if}
</div>
</div>
{weff}
{/if}
</body>
</html>
19 Июля 2013, 19:30:48
Ответ #13
  • Новичок
  • *
  • Сообщений: 5
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
в шаблоне просто указываешь  {weff}? в смысле просто в футер добавить это?
19 Июля 2013, 19:34:44
Ответ #14
  • Ветеран
  • *****
  • Сообщений: 32999
  • Репутация: +26759/-0
    • Просмотр профиля
в шаблоне просто указываешь  {weff}? в смысле просто в футер добавить это?
Да