Господа! Не подскажите мне почему у меня не выполняется PHP
Сделал тег пользователя: {rotator}
include ("uploads/rotator/rotator.php");
вставил в страницу а он не выдает мне то, что в обычном PHP все прекрасно работает.
Код rotator.php
";
for($m=0;$m";
?>
в коде list_url.txt:
некий набор ручных ссылок. В идеале хочеться ротатор ссылок на сайте, а ссылки эти внутренние. Т. е. не хочется перегружать страницу. Не знаю данная CMS дает возможность делать страницы не отображая их в меню, но при этом сушествующие. Так вот скрипт берет в случайном порядке ссылки скрытых страниц и выводит на основные страницы по 1-2 шт.
Фу... Вроде как ясно выразился. Если поможете буду очень признателен!!!
Работа PHP вставки
-
- Power Poster
- Posts: 339
- Joined: Thu Nov 01, 2007 3:11 pm
Re: Работа PHP вставки
Скорее всего что-то с путями. Попробуй сделать не include а require - если не найдет - ругнется
Re: Работа PHP вставки
пробовал вооще ничего, хотя видно что обращяеться к скрипту потому, что и теги подставляет, не беоет данных из list_url.txt
$messages_array = file("list_url.txt");
$messages_array = file("list_url.txt");
Re: Работа PHP вставки
Dominikus, лови решение.
1) Создаешь user defined tag с именем rotator и текстом:
2) создаешь global content block с именем my_rotator. В качестве его содержимого вставляешь свои строчки (которые сейчас у тебя в файле list_url.txt. Разделяешь их спец-кодами %%, т.е. текст должен быть примерно таким:
3) в том месте страницы или шаблона, где должны быть вставлены эти строки вставляешь тэг {rotator block="my_rotator" num=2}. Параметр num задает количество строчек, которые должны быть выведены. Он не обязателен, если отсутствует - будут выведены все сколько есть.
4) Радуешься жизни.
Плюсы:
- не нужно возиться с файлами для смены "контента" - все редактируется в админке через GCB
- не нужно править код при изменении количества "строчек" - скрипт сам определяет это количество
- можно вставлять ротатор в любое место как в шаблонах, так и прямо в текст страниц или в другие блоки GCB
- в качестве контена можно использовать текст, ссылки, картинки, куски HTML, да вообще что угодно
- можно одновременно использовать любое количество разных ротаторов
- ... допишите сами.
1) Создаешь user defined tag с именем rotator и текстом:
Code: Select all
$cnt = $smarty->fetch('globalcontent:'.$params['block']);
$cnt = str_replace('<p>%%</p>', '%%', $cnt);
$cnt = explode('%%', $cnt);
$n = (isset($params['num']) && intval($params['num'])<=count($cnt)) ? intval($params['num']) : count($cnt);
srand ((double) microtime() * 10000000);
$rk = array_rand($cnt,$n);
if(is_array($rk)) foreach($rk as $k) echo $cnt[$k]; else echo $cnt[0];
Code: Select all
Первая строчка
%%
Вторая строчка
%%
Третья строчка
4) Радуешься жизни.

Плюсы:
- не нужно возиться с файлами для смены "контента" - все редактируется в админке через GCB
- не нужно править код при изменении количества "строчек" - скрипт сам определяет это количество
- можно вставлять ротатор в любое место как в шаблонах, так и прямо в текст страниц или в другие блоки GCB
- в качестве контена можно использовать текст, ссылки, картинки, куски HTML, да вообще что угодно
- можно одновременно использовать любое количество разных ротаторов
- ... допишите сами.

I hate CMSMS. 

Re: Работа PHP вставки
СПАСИБО!!! Вот это заработало с первого раза. 
Я как понимаю в этом месте $cnt = str_replace('%%', '%%', $cnt); ссылка должна заключаться в тег , но при выводе на странице нет её.
Где нужно, если понадобиться вставлять теги в срипте, или в самом шаблоне?

Я как понимаю в этом месте $cnt = str_replace('%%', '%%', $cnt); ссылка должна заключаться в тег , но при выводе на странице нет её.
Где нужно, если понадобиться вставлять теги в срипте, или в самом шаблоне?
Re: Работа PHP вставки
Как раз наоборот - здесь убиваются лишние тэги , которые вставляет тиниМСЕ (зависит от его настроек). Они часто все портят, поэтому эта строчка и добавлена.Я как понимаю в этом месте $cnt = str_replace('%%', '%%', $cnt); ссылка должна заключаться в тег , но при выводе на странице нет её.
Проще всего это сделать в шаблоне - заключаешь тэг внутри . Например так:Где нужно, если понадобиться вставлять теги в срипте, или в самом шаблоне?
Code: Select all
<p>{rotator block="my_rotator" num=2}</p>
I hate CMSMS. 

Re: Работа PHP вставки
ок, спасибо! 
