Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по вёрстке Как реализовать отдельный short story на определенное время?

Как реализовать отдельный short story на определенное время?


     15.04.2015    Общие вопросы по вёрстке, Шаблоны (TPL), Стили (CSS)    1384

вопрос
Всем привет!

Ребят, подскажите, как можно реализовать такую вещь:

Предположим у меня эксклюзивная новость на сегодняшний день, я при добавлении новости ставлю галочку или в доп поле пишу, что эксклюзив. Далее мне нужно, чтобы сегодня она выводилась с отдельным шаблонов, а при наступлении завтрашнего дня становилась с тем шаблоном short story как и все остальные новости?

Может есть подобный хак или модуль, или ещё какие методы реализации?!
Буду очень благодарен, если кто подскажет.


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

Ответил: D0Gmatist


Подурачился чуть больше чем вам требуется ))
http://jsfiddle.net/D0Gmatist/gcjyc0u3/

Комментарии пользователей (32)

vitnet
218

2172 | 930

vitnet - 15 апреля 2015 20:31 - Эксперт

Новость фиксированная?

Moreno
13

Moreno - 15 апреля 2015 20:40 - Юзер


vitnet, нет, обычная, как все. Вот пример.

aios
2

72 | 9

aios - 15 апреля 2015 21:11 - Эксперт



UPD* Не прокатит.... ибо подгрузка тпл идет раньше цикла где можно выдрать ID

ПафНутиЙ
1065

3395 | 2433

ПафНутиЙ - 15 апреля 2015 21:12 - Админ

Попробуйте вот этот хак

Каков вопрос - таков и ответ. Просто помните об этом.

aios
2

72 | 9

aios - 15 апреля 2015 21:18 - Эксперт

ПафНутиЙ,
Если только если второй стиль просто оставить скрытым в shortstory.tpl и открывать его по значению поля - но тогда можно обойтись и xfgiven.

Moreno
13

Moreno - 15 апреля 2015 21:24 - Юзер

Спасибо за данный хак, пригодится в копилочку) Но как открывать стиль, я там увидел и понял....а вот как его закрыть и в 0:00 автоматически вернуть прежний-стандартный shortstory не понятно((

ПафНутиЙ
1065

3395 | 2433

ПафНутиЙ - 15 апреля 2015 21:36 - Админ

Ну тогда остаётся только js

Каков вопрос - таков и ответ. Просто помните об этом.

Moreno
13

Moreno - 15 апреля 2015 21:41 - Юзер

ПафНутиЙ, а Вы не смогли бы это реализовать на js? :) Не бесплатно конечно)

ПафНутиЙ
1065

3395 | 2433

ПафНутиЙ - 15 апреля 2015 21:44 - Админ

Я не принимаю заказы.

Каков вопрос - таков и ответ. Просто помните об этом.

Moreno
13

Moreno - 15 апреля 2015 21:52 - Юзер

ПафНутиЙ, у меня тут некоторая идея возникла :) А можно ли это реализовать через фиксацию новостей? Предположим я ставлю галочку фиксировать и ставлю дату и время, когда снять фиксацию...но вопрос в том, как сделать так, чтобы фиксированные новости не фиксировались над всеми новостями, а были в общем списке? Теоретически же такое возможно?

Gameer
225

1121 | 395

Gameer - 15 апреля 2015 21:50 - Эксперт

Moreno, проще простого. Простой скрит на jq который пишется за 5 минут

Истина в противоречии.​

Moreno
13

Moreno - 15 апреля 2015 22:04 - Юзер

Gameer, жду в скайпе)

Gameer
225

1121 | 395

Gameer - 16 апреля 2015 10:13 - Эксперт

Как то так, нет ?
[xfgiven_class]

<script>
$(function(){
var $date = new Date();
var $set_date = $date.getFullYear() +'.'+ eval($date.getMonth()+1) +'.'+ $date.getDate();
if($set_date != '{date=Y.m.d}') {
$( "#menu" ).removeClass( "my_class" )
}
});
</script>

[/xfgiven_class]

Истина в противоречии.​

aios
2

72 | 9

aios - 16 апреля 2015 11:02 - Эксперт

Gameer,
Чет ты намудрил, причем тут меню если человеку нужен новый стиль новости.

Сам постараюсь поваять

Gameer
225

1121 | 395

Gameer - 16 апреля 2015 11:05 - Эксперт

aios, лол што ? Ты хоть понял работу скрипта ? Я привел пример, по истечению этого дня класс который прописывается в [xfvalue_class] будет убираться. Просто данные под себя подставить.

У меня такое ощущение, что ты вообще во всем этом не разбираешься.

Истина в противоречии.​

aios
2

72 | 9

aios - 16 апреля 2015 11:51 - Эксперт

Ну во первых - кто тебя научил писать переменные со знаком $ - это чистой воды иудаизм. Разработчик прям из 90-х.

Боже что это?

$set_date = $date.getFullYear() +'.'+ eval($date.getMonth()+1) +'.'+ $date.getDate();


Неужели так было бы не изящнее?

var $date = new Date();
var $set_date = new Date('{date=Y.m.d}');


А теперь расскажи мне что это за логика такая - которая прибавляет 1 месяц. К дате которую только что получил?
И смысл этой твоей переменной - если ты дату получаешь одинаковую в обоих случаях и в JS и в DLE - Где здесь определяется что день закончился? Или {date=Y.m.d} у тебя как то по другому работает?

D0Gmatist
225

794 | 281

D0Gmatist - 16 апреля 2015 11:58 - Местный

Цитата: aios
А теперь расскажи мне что это за логика такая - которая прибавляет 1 месяц. К дате которую только что получил?
Ни хрена что в JS месяца исчисление идёт с нуля
и если PHP даст сегодняшнюю дату 2015-4-16
то JS 2015-3-16

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

Gameer
225

1121 | 395

Gameer - 16 апреля 2015 12:03 - Эксперт

D0Gmatist, да что ему объяснять то ? Видишь человек ничего не знает, и что-то хочет доказать этим. Нет смысла ему даже код расписывать ибо он не может понять что к чему.

Истина в противоречии.​

aios
2

72 | 9

aios - 16 апреля 2015 12:06 - Эксперт

Все хорошо угомонитесь - реально пару моментов упустил. Спасибо что разъяснили.

Gameer
225

1121 | 395

Gameer - 16 апреля 2015 11:59 - Эксперт

aios, ты действительно ничерта не знаешь. Супер мега-кодеру объясняю суть работы моего скрипта.
Здесь берем текущую дату :
var $date = new Date();

Здесь мы берем из поточной даты год, месяц и день.
var $set_date = $date.getFullYear() +'.'+ eval($date.getMonth()+1) +'.'+ $date.getDate();

Здесь проверка на сегодняшнюю дату и дату самой новости. (ОНИ ОТЛИЧАЮТСЯ)
if($set_date != '{date=Y.m.d}') {
$( "#menu" ).removeClass( "my_class" )
}


Теперь уяснил, кодерщик ? И да, не учи меня как мне писать переменные, для начала сам бы подучился чем других учить.

Истина в противоречии.​

aios
2

72 | 9

aios - 16 апреля 2015 12:05 - Эксперт

Мде.. этот момент я упустил. Я работал долго с Фреймворками и для меня запись {date=Y.m.d} автоматически означала текущее время. В DLE же оно оказывается отражает дату новости.

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

D0Gmatist
225

794 | 281

D0Gmatist - 16 апреля 2015 11:46 - Местный

Веялку не сломай

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

aios
2

72 | 9

aios - 16 апреля 2015 11:59 - Эксперт

Бог сарказма.

D0Gmatist
225

794 | 281

D0Gmatist - 16 апреля 2015 12:01 - Местный

Бог правды

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

scaver
6

119 | 17

scaver - 16 апреля 2015 11:04 - Юзер

http://prowebber.ru/dle/hacks/15508-smena-kategorii-po-nastupleniyu-daty.html
создайте категорию, укажите short-story
по наступлении даты меняйте категорию

Moreno
13

Moreno - 17 апреля 2015 22:44 - Юзер

scaver, ахинею не пиши

scaver
6

119 | 17

scaver - 17 апреля 2015 23:06 - Юзер

В чем ахинея?
я предложил создать категорию с названием эксклюзив, указав свой tpl для short-story.
А с помощью хака (правда не знаю работает или нет), пускай при наступлении даты меняется категория на нужную

Moreno
13

Moreno - 18 апреля 2015 00:10 - Юзер

scaver, а в том, что если у меня новости уже в категории НОВОСТИ и они больше никакой категории не принадлежат? Куда я их тогда буду перемещать?

scaver
6

119 | 17

scaver - 18 апреля 2015 00:19 - Юзер

ну давайте так, без удара палкой все равно работать не будет, так как дле ест стандартный шаблон short-story в главной категории (не доглядел), а задумка была в том, что изначально новость постилась бы в категорию "Эксклюзив", а после наступлении даты перемещалась в ту категорию которую вы укажете.

Moreno
13

Moreno - 18 апреля 2015 00:25 - Юзер

ну сейчас же всё прекрасно работает, благодаря D0Gmatist...без всяких ударов палкой....так что....

scaver
6

119 | 17

scaver - 18 апреля 2015 00:26 - Юзер

:-) очень хорошо

Moreno
13

Moreno - 17 апреля 2015 22:44 - Юзер

D0Gmatist, спасибо огромное, всё получилось)) респект тебе Dog)))

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы