форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Добрый день, господа. Вновь прошу о помощи.
Предыдущие злоключения с рекламным блоком - по этим ссылкам.
http://textpattern.ru/forum/viewtopic.php?id=1647
http://textpattern.ru/forum/viewtopic.php?id=1649
Теперь ситуация такова: хост-провайдер использует кодировку WINDOWS-1251, а мой сайт на ТХР, разумеется, утф-8. Во избежание кодировочной разносортицы хост-провайдер выслал мне оптимизированный код рекламного блока, который должен менять кодировку рекламного блока так, чтобы тот отображался корректно.
<txp:php> <? // вертикальный рекламный блок if(getenv("REQUEST_URI")!='/' && getenv("REQUEST_URI")!='/index.php' && getenv("REQUEST_URI")!='/index.html'&& getenv("REQUEST_URI")!='/index.htm'): $u=file_get_contents("http://3-k.org.ua/files/www.proletar.org.ua1192034233/Inv.txt"); echo iconv("WINDOWS-1251", "utf8", $u); else: $u=file_get_contents("http://3-k.org.ua/files/www.proletar.org.ua1192034233/Indexv.txt"); echo iconv("WINDOWS-1251", "utf8", $u); endif; ?> </txp:php>
Вставил я этот код куда надо, то есть на главную страницу http://proletar.org.ua/
Но в результате вместо рекламного блока получаю вот такое:
Parse error: syntax error, unexpected '<' in /home/proletar/data/www/proletar.org.ua/textpattern/publish/taghandlers.php(2681) : eval()'d code on line 2
Как это понимать и что с этим делать?
С уважением, Потапов
Отредактированно potapov (06-01-2008 14:57:03)
Неактивен
Уберите <? и ?> из тега <txp:php>
Неактивен
the_ghost написал:
Уберите <? и ?> из тега <txp:php>
Убирал. Тогда рекламній блок вообще не отображается.
Неактивен
Какая версия txp используется?
Разрешен ли php в статьях в настройках?
P.S. Вы уверены что хостинг провайдер выдал вам рабочий код? Меня смущает синтаксис, к примеру "else:", и двоеточие после условия if
Проверить работоспособность php в txp можно следующим кодом:
<txp:php> echo "Все работает"; </txp:php>
Отредактированно the_ghost (06-01-2008 17:18:43)
Неактивен
Версия Textpattern · 4.0.4
РНР разрешен.
Да дело в том, что со старым кодом - без перекодировки - рекламный блок отображался, его ссылки работали, только вместо символов была абракадабра (вполне объяснимая столкновением win и utf8.).
Они переделали код так, чтобы он автоматически перекодировал win в utf8. Но что-то не работает. Какие могут быть проблемы в файле taghandlers.php, которому приписывается syntax error ?
Неактивен
Может быть на данном хостинге пхп предоставляется без поддержки iconv. Попробуйте заменить iconv на mbstring. Не забывайте что у mbstring другой синтаксис.
А if: else: endif; это нормально.
Неактивен
Nicck написал:
Может быть на данном хостинге пхп предоставляется без поддержки iconv. Попробуйте заменить iconv на mbstring. Не забывайте что у mbstring другой синтаксис.
А if: else: endif; это нормально.
А какой синтаксис у mbstring?
Неактивен
Господа, я методом научного тыка установил, что глюк начинается с самого первого символа кода <?
То есть я понемногу ликвидировал весь код до самой первой <. Пока она была - вместо рекламного блока высвечивалось все то же
Parse error: syntax error, unexpected '<' in /home/proletar/data/www/proletar.org.ua/textpattern/publish/taghandlers.php(2681) : eval()'d code on line 2
Как только < была убрана - рекламный блок не отображался вообще. Но если я размещаю весь код, только без <? и ?>, то рекламный блок тоже не отображается.
Вот.
Неактивен
potapov написал:
Nicck написал:
Может быть на данном хостинге пхп предоставляется без поддержки iconv. Попробуйте заменить iconv на mbstring. Не забывайте что у mbstring другой синтаксис.
А if: else: endif; это нормально.А какой синтаксис у mbstring?
Ну как маленькие, ей богу.
http://www.google.com/search?q=php+manu … lr=lang_ru
Неактивен