Вопрос по DLE :(

12
Lioness
На сайте с 04.12.2003
Offline
111
1703

Здравствуйте,

у меня несколько сайтов на DLE построенно, но до сих пор не решили вопрос с установкой ссылок только на главной :(

1. Если ставить новость с отображением только на главной, то все равно ссылки дублируются на несколько внутренних страниц.

2. Чере тег aviable тоже самое, но дублируется на всех страницах новостей.

То есть поставить ссылку только с главной не получается, все равно еще где-нибудь она проскакивает.

Программер разводит руками :(

Может кто сталкивался с подобной проблемой и нашел решение? Буду очень благодарна за помощь!

fargus
На сайте с 21.05.2005
Offline
83
#1

Я вывожу так -

прям в индекс.пхп почти в самом низу пишешь -

if($_SERVER['REQUEST_URI']=='/') {echo '<p style=text-align:center>';require("файл ваш со ссылками.php"); echo '</p>';};

B
На сайте с 14.07.2006
Offline
71
#2

Можно прям в любое место шаблона main.tpl вставить, только надо маленько в index.php подшаманить, чтоб была возможность php в файлах шаблона писать.

В файле index.php замени

echo $tpl->result['main'];

на

eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');

Только разработчики не рекомендуют это делать, безопасность понижаешь. Так что на свой страх и риск. У меня стоит уже около года.... тьфу-тьфу-тьфу

А рекламу я вывожу так:

<?

if(getenv("REQUEST_URI")=="/"){
echo 'тут рекламный текст или ссылки, будет только на морде ';}
?>

<?

if(getenv("REQUEST_URI")=="/2006/08/03/news.html"){
echo 'тут рекламный текст или ссылки, будет на заданной выше странице';}
?>

<?

if(getenv("REQUEST_URI")!="/" && getenv("REQUEST_URI")!="" && getenv("REQUEST_URI")!="/index.php"){
echo 'тут рекламный текст или ссылки, будет на всех кроме главной';
}
?>
Lioness
На сайте с 04.12.2003
Offline
111
#3

Ребят, спасибо огромное!

Наконец-то решили этот вопрос, а то думала уже, что придется перейти на другой движок!

blagoy, остановились на этом варианте :)

B
На сайте с 14.07.2006
Offline
71
#4
Lioness:
blagoy, остановились на этом варианте :)

всегда рад помочь!:)

web_root
На сайте с 25.04.2006
Offline
56
#5

А вот у меня проблемка! ЗАменил как написали index.php выдает ошибку!

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/u42993/sait.ru/www/index.php(103) : eval()'d code on line 357

В чем проблема, кто знает?

B
На сайте с 14.07.2006
Offline
71
#6
web_root:
А вот у меня проблемка! ЗАменил как написали index.php выдает ошибку!
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /home/u42993/sait.ru/www/index.php(103) : eval()'d code on line 357

В чем проблема, кто знает?

Будь внимательнее, перепроверь ещё раз. Должно работать 100%

web_root
На сайте с 25.04.2006
Offline
56
#7

Инфа по теме!

Но это еще не все преимущества Perl. Инструкция eval работает как универсальный перехватчик исключений (ошибок), по аналогии с блоком try...catch в языках программирования C++ и Java. Иными словами, любое возникшее внутри eval исключение (например, вызов стандартной функции die() или синтаксическая ошибка) приведет не к завершению всей программы, а только лишь к выходу из инструкции eval. Это открывает нам богатые возможности по обработке исключительных ситуаций: действительно, достаточно «обернуть» опасный участок кода в eval и потом проверить переменную $@: в случае проблемы там будет содержаться сообщение об ошибке (или объект-исключение, что то же самое).

К сожалению, язык PHP (пока?) не может похвастаться всеми этими возможностями. В нем, конечно, имеется встроенная функция eval(), однако она вовсе не такая мощная. Действительно, фатальная ошибка (E_ERROR), возникшая в запущенном через eval() коде, приводит к немедленной (и безусловной) остановке скрипта!

PHP также не поддерживает директиву #line, а поэтому все диагностические сообщения, сгенерированные в eval-коде, будут сообщать: «проблема в eval()'d code on line N». Конечно, если мы пытаемся написать транслятор с языка шаблонов в PHP, это нас ни в коей мере не устроит.

web_root
На сайте с 25.04.2006
Offline
56
#8

Отрывок кода

Исходный

$tpl->compile('main');

echo $tpl->result['main'];

$tpl->global_clear();

Измененный

$tpl->compile('main');

eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');

$tpl->global_clear();

Что реализует eval (' ?' . '>' . $tpl->result['main'] . '<' . '?php ');?

adrin02
На сайте с 12.04.2006
Offline
85
#9

Я вывожу так вот

<?if (!isset($_GET['sort'])) {print "ссылки тут";}; ?>

но для этого нужны вот такие урлы

ht_p://site/index.php?sort=size

если в адресе будет sort то ссылки невыводятся.

Только вот проблема, у меня на сайте 2 урла

ht_p://site/index.php?sort=size

ht_p://site/index.php?page=upload

нужно чтоб ещё срабатывало от page.

Может кто знает как это объеденить?

Код ниже идёт только под DLE?

<?
if(getenv("REQUEST_URI")=="/"){
echo 'тут рекламный текст или ссылки, будет только на морде ';}
?>

На других движках он неработает.

Хостинг изображений (http://likepic.net) SpeedTest (http://speed-tester.info)
M
На сайте с 21.07.2005
Offline
70
#10
<?if (!isset($_GET['sort'])) {print "ссылки тут";}; ?>

заменить на

<?if ((!isset($_GET['sort']) AND (!isset($_GET['page'])) {print "ссылки тут";}; ?>

пробовали ?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий