Forums / National / Russian / Тех. поддержка / Как выводить даты?

12>>>

Oughtem
#1 2010-07-23 00:19
По адресу /admin.php?m=config&n=edit&o=core&p=time есть таблица дат:

Полный формат даты : По умолчанию Y-m-d H:i [R]
Укороченный формат даты : По умолчанию m-d [R]
Формат даты для форумов : По умолчанию m-d H:i [R]
Обычный формат даты : По умолчанию Y-m-d [R]

Какими переменными или тегами выводятся в тпл эти даты? К примеру в page.tpl тег {PAGE_DATE} выводит "Полный формат даты", а какими тегами вывести остальные?
Clever
#2 2010-07-23 02:09
Насколько я понял, ковыряя движек, тег один и он по разному просто выводит. Самому нехватает тега time выводящий только время если создано сегодня и с датой если раньше (можно просто дату, если не сегодня).
Или немешало бы это сразу в date запихнуть
Sergeich
#3 2010-07-23 03:24
можно плагин сделать. он неособо сложный будет, точнее совсем не сложный, а даже очень простой :)
Kort
#4 2010-07-23 04:38
SED.by - создание сайтов, разработка плагинов и тем для Котонти
Oughtem
#5 2010-07-23 06:24
Хм... а к чему тогда способности движка на страничке /admin.php?m=config&n=edit&o=core&p=time ?

По-моему гораздо удобнее в админке настроить вид даты и проставить нужный тег в тпл, нежели писать конструкции типа {PAGE_ROW_DATE_DD}{PAGE_ROW_DATE_MM}{PAGE_ROW_DATE_YYYY}.

Это недоделанная фича или мы чего-то не знаем?
Kort
#6 2010-07-23 15:32
Эта фича прекрасно работает еще со времен LDU. Пихать каждую хотелку в движок непродуктивно -- этот вопрос сомнений не вызывает. Тем более что это не принципиальный и не критически востребованный момент и решается он (теми, кому это необходимо) легко при помощи плагина Metadates. Связки из тегов замечательно решают все проблемы: выводится все от года до секунд в цифровом и вербальном виде во всех необходимых шаблонах, разделители для даты и времени можно использовать любые. Если мы все-таки что-то упустили, пишите -- добавим.
SED.by - создание сайтов, разработка плагинов и тем для Котонти
Oughtem
#7 2010-07-24 00:35
Пихать каждую хотелку в движок непродуктивно
В связи с тем, что эта "хотелка" не реализована должным образом и был написан плуг Metadates.
Но пихать её никто не предлагает. Я предлагаю её доделать, т.к. она уже есть.

Вообще идея недоделанные зародыши функционала самого движка заменять хорошими плагинами - гиблая. Это, считайте, как косметический ремонт. Сначала хорошо, а потом - траблы. Обновился на новую версию и плуг не работает.
Kort
#8 2010-07-26 16:40
Уважаемый Oughtem, о каких недоделанных фичах и зародышах идет речь? Есть форматы выводы дат, которые замечательно работали и работают. Есть плагин, который с версии 0.6.6 беспроблемно обеспечивает более гибкий вывод дат. Есть обновления системы, которые никак не сказываются ни на первом, ни на втором. Ваши "траблы", о которых вы поведали в своих комментариях, никаким образом не связаны ни с первым, ни со вторым, ни с третьим. Если вы не использовали патч своевременно и ваши проблемы связаны с этим, задайте вопрос в соответствующем разделе форума.
SED.by - создание сайтов, разработка плагинов и тем для Котонти
Oughtem
#9 2010-07-27 00:51
1.
о каких недоделанных фичах и зародышах идет речь
О тех, которые находятся на странице /admin.php?m=config&n=edit&o=core&p=time
2.
Есть форматы выводы дат, которые замечательно работали и работают
Об этой замечательной работе собственно и пост. Ничего замечательно в выводе дат я не вижу. Не понятно в каком тпл какой тег работает. Настройка параметров двига крайне скудна.
3.
Есть плагин, который с версии 0.6.6 беспроблемно обеспечивает более гибкий вывод дат
Kort, это просто замечательно, что он есть и вы просто молодец, что его написали... но позволю себе повторится для тех, кто невнимательно читает: идея недоделанные зародыши функционала самого движка заменять хорошими плагинами - гиблая. (Что за зародыши см. в п.1) Если функционала нет - то да, надо писать плуг, если он есть и слаборазвит - лучше дописать его. Если его не дописывать, то его лучше удалить.
esclkm
#10 2010-07-27 15:17
Вопрос - если честно поставлен более чем верно - и действительно это больше немного чем просто хотелка.
Суть как я его понимаю - необходим вывод дат как того хочет пользователь.
текущие проблемы:
1. невозможно вывести дату на русском и тд (месяц и день недели).
2. Нельзя применять для разных частей разные форматы дат. - Это можно обойти 2 вариантами.
А. Сделать механизм Универсального вывода дат (например {PAGE_DATE.FULL} и {PAGE_DATE.SHORT} - чтобы вывести полную дату и краткий формат даты
Б. В каждом модуле вывести настройку - формат даты - и в соответсвие с ней формировать дату.

Мне если честно намного больше импонирует первый вариант.
littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
Oughtem
#11 2010-07-28 00:33
Мне больше нравится вариант "Б" - esclkm, где-то на форуме я видел ваш плагин "Новости" с классной админкой. Чудесная штука. Там было так: кнопалка "Добавить" - добавил категорию и прописал каким тегом выводить новостную ленту из неё. Вот и тут классно было бы сделать так: везде в тпл стоит один тег {DATE}, на страничке /admin.php?m=config&n=edit&o=core&p=time стоит кнопалка "добавить", нажав её, из селектора выбираем тпл и рядом, в поле указываем какой формат даты будет для этого тпл выводиться стандартным тегом {DATE}. Получаем, что проставив один тег везде вы можем выводить разные форматы даты, настраивая их в админке.
This post was edited by Oughtem (2010-07-28 03:58, 13 years ago)
Clever
#12 2012-12-15 14:33

А сейчас все на том же месте? или появился тег? Кто подскажет?

Trustmaster
#13 2012-12-15 14:49

Сейчас вот так. То есть используем тег даты с постфиксом _STAMP, пропускаем его через cot_date() и получаем дату в нужном формате.

May the Source be with you!
Clever
#14 2012-12-15 15:10

это в сиене? или и в геноа то же?

Добавлено 2 минуты спустя:

Идея такова, что для новостей от сегодня хочется вместо даты выводить "сегодня в 12:20"... но не с чем сравнивать время новости...

Macik
#15 2012-12-17 09:54

Текущие время находится в переменной «now» масива $sys. Т.е. в шаблоне к ней можно обратиться как {PHP.sys.now}

Для спавнения используем условие в шаблоне (пример для Сиены «на вскидку» - не тестировал):

<!-- IF {PAGE_ROW_DATE_STAMP|cot_date('date_full', $this)} == {PHP.sys.now|cot_date('date_full', $this)} -->
          Сегодня в {PAGE_ROW_DATE_STAMP|cot_date('time_medium', $this)}
<!-- ELSE -->
          {PAGE_ROW_DATE_STAMP|cot_date('date_full', $this)}
<!-- ENDIF -->

 

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F

12>>>