Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Шаблоны (TPL) Как убрать ошибку при вставке php кода в tpl?

Как убрать ошибку при вставке php кода в tpl?


     20.08.2014    Шаблоны (TPL), Общие вопросы по PHP, Хаки    1449

вопрос
Собственно разрешил использование php в dle этим способом: http://dle-news.ru/tips/33-ispolzovanie_ljubykh_php_vstavok_v_shablonakh.html

Решил протестить. Вставил свой php скрипт в tpl файл:



Но почему-то на страницы короткой новости появилась следующая ошибка:

Warning: stream_set_timeout() expects parameter 1 to be resource, boolean given in Z:\home\mine.ru\www\index.php(353) : eval()'d code on line 214 Warning: fwrite() expects parameter 1 to be resource, boolean given in Z:\home\mine.ru\www\index.php(353) : eval()'d code on line 235 Warning: fwrite() expects parameter 1 to be resource, boolean given in Z:\home\mine.ru\www\index.php(353) : eval()'d code on line 235 Warning: fwrite() expects parameter 1 to be resource, boolean given in Z:\home\mine.ru\www\index.php(353) : eval()'d code on line 235


С чем это может быть связанно? Как исправить?

Ответил: ПафНутиЙ


eval
- устаревшая функция, её исключили из php много лет назад.
Не ищите себе проблем, напишите модуль

Комментарии пользователей (10)

narkom6n
2

51 | 4

narkom6n - 20 августа 2014 08:50 - Юзер

Пафнутий, как по другому можно разрешить использование php в tpl?

BAHO
48

171 | 54

BAHO - 20 августа 2014 09:01 - Юзер

Закиньте ваш код в файл, и положите его к примеру в engine/modules
и попробуйте в шаблоне .tpl подключить
{include file="engine/modules/имя_файла.php"}

narkom6n
2

51 | 4

narkom6n - 20 августа 2014 09:03 - Юзер

Warning: stream_set_timeout() expects parameter 1 to be resource, boolean given in Z:\home\mine.ru\www\engine\modules\shop.php on line 39 Warning: fwrite() expects parameter 1 to be resource, boolean given in Z:\home\mine.ru\www\engine\modules\shop.php on line 60 Warning: fwrite() expects parameter 1 to be resource, boolean given in Z:\home\mine.ru\www\engine\modules\shop.php on line 60 Warning: fwrite() expects parameter 1 to be resource, boolean given in Z:\home\mine.ru\www\engine\modules\shop.php on line 60

BAHO
48

171 | 54

BAHO - 20 августа 2014 09:11 - Юзер

А теперь понять почему ругается на
stream_set_timeout()
и
fwrite()
нужен какой-то параметр

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 20 августа 2014 09:14 - Админ


Каков вопрос - таков и ответ. Просто помните об этом.

narkom6n
2

51 | 4

narkom6n - 20 августа 2014 09:24 - Юзер

Сможете поглядеть? Буду очень благодарен!

https://yadi.sk/d/0kEmNm7ya5nVq

narkom6n
2

51 | 4

narkom6n - 20 августа 2014 12:54 - Юзер

Будут ещё рекомендации?

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 20 августа 2014 13:19 - Админ

Да, будут.
1. почитать о том, как писать модули для DLE
2. правильно передавать параметры в модуль.
[xfvalue_itemid] [xfvalue_itemname]
- работают только в шаблоне, поэтому передавать их следует так:
{include file="engine/modules/имя_файла.php?itemid=[xfvalue_itemid]&itemname=[xfvalue_itemname]"}

ну и в модуле их обрабатывать соотвтествующим образом.

Каков вопрос - таков и ответ. Просто помните об этом.

narkom6n
2

51 | 4

narkom6n - 20 августа 2014 14:06 - Юзер

Спасибо! Обязательно завяжу все это под модуль. В общем я сделал проверку на доступность сокетов и получил отрицательный ответ сервера. Возможно ли то, что dle мешает работе сокетов? Так как вне среды dle скрипт работает отлично.

Socket error 10061 Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. 
Warning: fwrite() expects parameter 1 to be resource, boolean given in Z:\home\mine.ru\www\engine\modules\shop.php on line 66 Warning: fwrite() expects parameter 1 to be resource, boolean given in Z:\home\mine.ru\www\engine\modules\shop.php on line 66 Warning: fwrite() expects parameter 1 to be resource, boolean given in Z:\home\mine.ru\www\engine\modules\shop.php on line 66

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 20 августа 2014 14:22 - Админ

Ну так ф-ция fwrite() хочет не то, что вы ей даёте похоже.

Каков вопрос - таков и ответ. Просто помните об этом.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы