Тема: Не выводить ссылку на новость в списке при открытой новости.

Strawberry 1.1.1
Открыта полная новость. Нужно, чтобы рядом с этой новостью вывести список всех новостей из той же категории, что и открытая новость, но в этом списке открытая новость не должна быть ссылкой, а простым текстом. Можно это как-нибудь сделать?

...все, что хотел сказать

Re: Не выводить ссылку на новость в списке при открытой новости.

goland, конечно можно.

1. Нужно создать отдельный шаблон, в котором будет только заголовок и текст новости, без всяких "читать полностью". Типа такой:

<?=$tpl['post']['title']; ?>
<?=$tpl['post']['short-story']; ?>

2. Выводить этот блок новостей с использованием переменной static:

<?
$static['number']='Количество_новостей';
$static['category']='Номер_вашей_категории';
$static['template']='Ваш_шаблон';
include rootpath.'/show_news.php';
?>

Re: Не выводить ссылку на новость в списке при открытой новости.

Получается ведь тогда, что все ссылки этой категории перестанут быть ссылками, а мне бы хотелось, чтоб только ссылка на открытую новость. Например, как здесь http://www.metrika.com.ua/about/services/

Наверно я немного плохо объяснил: нужно переделать  из ссылки на полную открытую новость в списке на текст, а не ссылку в оглавлении новости.

Спасибо большое за ответ )

Отредактировано goland (11 Oct 2007 13:28:01)

...все, что хотел сказать

4

Re: Не выводить ссылку на новость в списке при открытой новости.

Нет, ксожалению, без сильных правок кода или отдельного плагина нельзя. Можно загримировать ссылку на текущий пст через CSS. В шаблоне вывода заголовков пишем в ссылках class="headline<?=$tlp['post']['id']; ?>"
А в шаблоне полного поста (который открывается):

<style>a.headline<?=$tlp['post']['id']; ?>{
text-decoration: none /* убираем подчёркивание*/
color: #цвет /* выставляем цвет обычнного текста */
}

Прокатит?

Признанный мастер чинпоко, а-ай ^_^

Re: Не выводить ссылку на новость в списке при открытой новости.

Идея интересная, но реализовалась  не так как хотелось бы ) Все ссылки приняли на себя поставленный стиль, а не одна.

...все, что хотел сказать

6

Re: Не выводить ссылку на новость в списке при открытой новости.

Опечатка. class="headline<?=$tpl['post']['id']; ?>". И соответственно:

<style>a.headline<?=$tpl['post']['id']; ?>{
text-decoration: none /* убираем подчёркивание*/
color: #цвет /* выставляем цвет обычнного текста */
}
Признанный мастер чинпоко, а-ай ^_^

Re: Не выводить ссылку на новость в списке при открытой новости.

Лёха zloy и красивый пишет:

Опечатка. class="headline<?=$tpl['post']['id']; ?>". И соответственно:

<style>a.headline<?=$tpl['post']['id']; ?>{
text-decoration: none /* убираем подчёркивание*/
color: #цвет /* выставляем цвет обычнного текста */
}

Лёха, красавчик, спасибо, выручил ))) lol

...все, что хотел сказать

Re: Не выводить ссылку на новость в списке при открытой новости.

Strawberry 1.1.1

Я извиняюсь, но, что-то не могу сделать рабочим это всё.

Создал стиль

<style>
#headline<?=$tpl['post']['id']; ?> a
{
text-decoration:underline;
color: #f22222;
}
#headline<?=$tpl['post']['id']; ?> a:link, #headline<?=$tpl['post']['id']; ?> a:visited
{
text-decoration:none;
color: #f22222;
}
#headline<?=$tpl['post']['id']; ?> a:hover
{
text-decoration:none;
color: #000;
}

</style>

И в самом шаблоне вставил:

<span id="headline<?=$tpl['post']['id']; ?>"> <a href="<?=$tpl['post']['link']['post']; ?>"><?=$tpl['post']['title']; ?></a></span>

Делал и так:

<a  id="headline<?=$tpl['post']['id']; ?>" href="<?=$tpl['post']['link']['post']; ?>"><?=$tpl['post']['title']; ?></a>

Активная новость стала как и все одного вида.

Если можно реализовать вариант с выделением активной новости можно делать активные меню....

Пока не могу настроить...

Отредактировано olafsen (27 Jan 2010 00:36:30)

Re: Не выводить ссылку на новость в списке при открытой новости.

olafsen, у вас стиль задаётся раньше, чем скрипт отработает переменную шаблона $tpl['post']['id'], кроме того массив $tpl вне шаблона недоступен. Можно сделать проще:

Стиль:

<style>
.headline a
{
text-decoration:underline;
color: #f22222;
}
.headline a:link, .headline a:visited
{
text-decoration:none;
color: #f22222;
}
.headline a:hover
{
text-decoration:none;
color: #000;
}
</style>

В шаблоне

<a  class="headline" href="<?=$tpl['post']['link']['post']; ?>"><?=$tpl['post']['title']; ?></a>

Re: Не выводить ссылку на новость в списке при открытой новости.

ANT-Soft, при Вашем и моём коде однаково всё.

Ко всем ссылкам применяется

а или a:link, к уже посещаемым -   a:visited

В этом коде нет чего-то чтобы сделать активным (другим стилем) именно открытую новость.

К какому-то стилю нужен id типа current который бы и делал активную категорию активной.

Спасибо.

Отредактировано olafsen (27 Jan 2010 17:25:05)

11

Re: Не выводить ссылку на новость в списке при открытой новости.

olafsen, я только лишь поправил ваш предыдущий код, ждал, что решение сами придумаете, оно не сложное. В шаблоне пишем:

<?=((($_GET['id']) and ($_GET['id'] == $tpl['post']['id'])) ? '<a href='.$tpl['post']['link']['post'].'">' : '').$tpl['post']['title'].((($_GET['id']) and ($_GET['id'] == $tpl['post']['id'])) ? '</a>' : '');?>

Мог где-то скобку пропустить, или лишнюю поставить - не тестировал, но верняк 100%.

Re: Не выводить ссылку на новость в списке при открытой новости.

ANT-Soft, извиняюсь, в этом коде вообще заплутался.

Выводятся новости хорошо, но без ссылок.

Пару знаков добавил, сути они не меняют...

<?=((($_GET['id']) and ($_GET['id'] == $tpl['post']['id'])) ?'<a class="headline" href=" '.$tpl['post']['link']['post'].' ">' : '').$tpl['post']['title'].((($_GET['id']) and ($_GET['id'] == $tpl['post']['id'])) ? '</a>' : '');?>

Не понятно, где поставить первую скобку ( , вторая находится тут:   

">' : '')

Раньше хоть кто-то мог помог решить "проблему". Теперь остался один только ANT-Soft, жаль....

2 недели, 6 дней и 13 часов спустя:

ANT-Soft, извиняюсь за повтор темы, но...

Смотрю на Ваших сайтах применяется эта обсуждаемая тема.

Применяется на admlangepas.ru/index.php?category=6 и oo-uspeh.ru/index.php?id=18&category=16  в меню слева.

Всё же, Вы делали меню динамическим ( выделение открытой новости выделено ) или это статика ( всё перерабатывается при добавлении новости )?

Интересно всё же сделать такое меню....

По указанным здесь выше кодам ничего не получается.

Извините за циганскую натуру....

Отредактировано olafsen (17 Feb 2010 11:13:02)

13

Re: Не выводить ссылку на новость в списке при открытой новости.

olafsen пишет:

Извините за циганскую натуру

Да ничего, ничего, цыган счёт деньгам знает wink

На указанных вами сайтах меню динамическое. Код функции формирования меню занимает около 2Кб, там есть пара javascript-функций для обеспечения кросс-браузерности. Функция формирует динамическое меню с любым уровнем вложенности для всех категорий сайта, или только для выбранных категорий.

Вызываем функцию так:

Вывод полного динамического меню для всех категорий:

<? mainmenu(); ?>

Вывод динамического меню для дочерних категорий категории 15:

<? mainmenu(15); ?>

Больше, к сожалению, ничего сказать не могу, так как эта задача немного выходит за рамки "Стандартных и не совсем..." возможностей Strawberry. То есть, это - "ручная работа". Ну вы понимаете?

Если хотите, могу изготовить персонально для вас такой же набор функций. Пишите мне на мыло.