Вход • Регистрация

Календарь новостей

  • 04 октября 2010 г.
  • Я видел много сайтов с календарем новостей на сайте. Календарь выводит все-все месяца, включая те, где новостей нет.
    Как организовать появление ссылки на дате календаря только в случае наличия новости в эту дату?
    • 04 октября 2010 г.
    • Календарь в diafan.CMS действительно выводит все новости года (за исключением тех, что еще не наступили). Но ссылки стоят только на тех, где есть новости. Если нужно скрыть "пустые" месяцы, то это легко сделать в файле modules/news/news.model.php строки 292-302:
      вместо:
      Код
      $result["rows"][$Ye]["months"][]=(diafan_result(diafan_query("SELECT COUNT(id) FROM {news}"
      ." WHERE act"._LANG."='1' "
      ." AND trash='0'"
      ." AND created>'%d'"
      ." AND created<='%d'"
      ,mktime(0,0,0,$num,1,$Ye)
      ,mktime(0,0,0,$num,31,$Ye)
      ))
      ?'<a href="'.BASE_PATH_HREF.$this->diafan->rewrite.'/year'.$Ye.'/month'.$num.'/">'.$val.'</a>'
      :$val
      );

      написать:
      Код
      if(diafan_result(diafan_query("SELECT COUNT(id) FROM {news}"
      ." WHERE act"._LANG."='1' "
      ." AND trash='0'"
      ." AND created>'%d'"
      ." AND created<='%d'"
      ,mktime(0,0,0,$num,1,$Ye)
      ,mktime(0,0,0,$num,31,$Ye)
      )))
      {
      $result["rows"][$Ye]["months"][]='<a href="'.BASE_PATH_HREF.$this->diafan->rewrite.'/year'.$Ye.'/month'.$num.'/">'.$val.'</a>';
      }

      рецепт для версии 4.2
      Эта шаблонная функция кэшируется, поэтому нужно временно отключить кэширование, чтобы увидеть результат.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум