Перейти к публикации

Каждой новости свой стиль.


Рекомендованные сообщения

Подскажите кто знает. Как сделать так, ну это только домыслы.

К примеру я ставлю на короткую новость селектор стиля #short

как то можно сделать так чтоб каждая новость выводилась с параметрами к примеру #short1 #short2 #short3 и т.д.

ну или начну с другой стороны может так легче будет понять что я хочу сделать.

есть ссылка такого вида:

<a href="#" onclick="document.getElementById('openshort').style.display='block'; return false;" title="Всплывающее окно">Открыть меню</a>

ну и соответственно в стилях у нас есть правила для контейнера #openshort дисплей ноне.

А после нажатия на ссылку есественно он у нас открывается.

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

Но проблема в том что этот метод работает только с селекторами типа ID а он у нас работает только один раз, тоесть где бы ты не нажимал открыватся будет только первая новость. Да и если не АЙДИ виноват был бы открывались все новости одновременно, что тоже не есьм хорошо. Вот я и в тупике а одновременно и в тупняке.

Я уже даже не знаю в какую сторону думать всю ночь над этим сижу, кастом тоже не катит так как +10 запросов к базе как-то крутовато. Кто поможет? Хотябы просто домыслы, дайте хлеб для размышлений.

Заранее спасибо

Ссылка на сообщение
Поделиться на других сайтах

Как вот они сортируются? По АЙДИ новости? Или может можно как то назначить новостям типа от верха 1 2 3 4 5 6 7 8 9 и 10

а потом эту цифру подставить... типа ID="selector{xx}" и xx как раз и подставлял нужную цифру.

Никому не интересно?

Ссылка на сообщение
Поделиться на других сайтах

В шаблоне уже есть переменная номер новости {news-id} , добавь в шаблон короткой новости что-то типа "<div id='short-{news-id}'>", ну и остальное как ты и писал выше.

Ссылка на сообщение
Поделиться на других сайтах

Об этом я уже тоже подумал... Но тогда мне прийдётся на тыщь этак 5 прописать селекторов в css на будующее. Так как применять нужно будет стиль к каждой новости.

Ссылка на сообщение
Поделиться на других сайтах

Зачем стиль к каждой новости ? когда можно так - "<div id='short-{news-id}' class='hidediv'>"

Или еще проще - "<div id='short-{news-id}' style='display:none'>"

Изменено пользователем Akela
Ссылка на сообщение
Поделиться на других сайтах

Ладно, а если так. Окольным путём вообще пошол. Есть раскрывающееся многоуровневое css меню.

При наведении на кнопку ниже появляется список кнопок второго уровня.

Как сделать так чтоб этот список появлялся только после нажатия на ссылку. И остался в таком положении пока не кликнешь снова по ссылке, ну или чтоб закрывался уже ссылкой:

<a href="#" onclick="document.getElementById('openshort').style.display='block'; return false;" title="Всплывающее окно">Открыть меню</a>

внутри списка второго уровня.

Как в навигации ДЛЕ не подойдёт так как там вообще активная Pages выводится в отдельный span поэтому и фиксируется с отличным от других стилем.

Ссылка на сообщение
Поделиться на других сайтах

Стандартная функция в движке :)

<a href="java script:ShowOrHide('openshort');">Открыть меню</a>

Ссылка на сообщение
Поделиться на других сайтах

И к чему она применяется непонятно что-то. Показать скрытое Опеншорт

Это я так понимаю Опеншорт селектор в цсс где спрятан блок правилом display:none?

замутил вот так

<div class="opa"><a href="java script:ShowOrHide('opapa');">Открыть меню</a></div>

<div class="opapa">скрытое</div>

при нажатии выскакивает О боже вы пытаетесь хакнуть движок.. Хакинг аттент в общем.

Похоже я куда то не врубаюсь

Ссылка на сообщение
Поделиться на других сайтах

Что-то у тебя смешались понятия о CSS :

class="opapa" - описывает целый класс объектов и в файле стилей это будет описываться ".opapa"

id="opapa" - описывает конкретный объект с конкретным идентификатором и этот идентификатор не может повторяться на странице.

в файле стилей это будет описываться "#opapa"

Изменено пользователем Akela
Ссылка на сообщение
Поделиться на других сайтах

Извени туплю... всю ночь как кубик рубик верчу собрать не получается))

Но всё равно с айди таже шняга. Вылетает на страницу хакинг атемпт

Ссылка на сообщение
Поделиться на других сайтах

Просто желательно четко и точно выражать свои идеи :) .

Если я понял правильно, ты хочешь скрыть часть новости на подобие спойлера в комментариях ? Очень просто и никакой файл стилей менять не надо :) .

В файле шаблона короткой новости shortstory.tpl :

<a href="java script:ShowOrHide('short-{news-id}');">Открыть</a>

<div id='short-{news-id}' style='display:none'>

// помести все, что хочешь скрыть, сюда

</div>

Ну и если у тебя табличная верстка, то надо будет разбить на отдельные таблицы.

Изменено пользователем Akela
Ссылка на сообщение
Поделиться на других сайтах

Блин, непонимаю... вот сделал в точности как ты сказал. Точнее тупо скопировал и вставил. И появляется вот такое

Forbidden

You don't have permission to access /java script:ShowOrHide('short-117'); on this server.

Незнаю может денвер глючит. Говорит возможные причины

#Вы пытаетесь запустить CGI-скрипт, расположив его вне CGI-директории (например, в директории документов сервера www). Корректные пути к CGI-директориям следующие:

# Возможно, вы пытаетесь открыть картинку или статический HTML-файл, расположенный в CGI-директории. Этого делать нельзя. Все рисунки (а также другие файлы, за исключениям скриптов) необходимо помещать в www-директорию. См. примеры по адресу /home/localhost/www.

# Если вы ожидаете получить листинг каталога, но выводится эта ошибка, вероятно, для данной директории выдача листинга запрещена (например, это CGI-папка). Чтобы разрешить листинг, создайте в нужной директории файл .htaccess следующего содержания:

А нет всётаки какого то способа выпадающий список зафиксировать?

всмысле зафиксировать в открытом состоянии.

Ссылка на сообщение
Поделиться на других сайтах

"java script" с пробелом ? ну это защита форума, пробел то надо убрать.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...