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

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


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

вопрос
Собственно разрешил использование 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
Юзер

narkom6n - 20 августа 2014 08:50 -

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

BAHO
Юзер

BAHO - 20 августа 2014 09:01 -

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

narkom6n
Юзер

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
Юзер

BAHO - 20 августа 2014 09:11 -

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

ПафНутиЙ
Админ

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


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

narkom6n
Юзер

narkom6n - 20 августа 2014 09:24 -

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

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

narkom6n
Юзер

narkom6n - 20 августа 2014 12:54 -

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

ПафНутиЙ
Админ

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

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

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

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

narkom6n
Юзер

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

ПафНутиЙ
Админ

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

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

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

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

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

наверх