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

недоделка в news.model.php

  • 19 ноября 2010 г.
  • Notice: Undefined offset: 38 in Z:\home\diafan\www\modules\news\news.model.php on line 676
    Код
    $this->result["allnews"]["link"] = $this->diafan->rewrites[$site_id]["rewrite"] ? $this->diafan->rewrites[$site_id]["rewrite"].'/' : '';

    заменить на
    Код
    $this->result["allnews"]["link"] = isset($this->diafan->rewrites[$site_id]["rewrite"]) ? $this->diafan->rewrites[$site_id]["rewrite"].'/' : '';
  • 20 ноября 2010 г.
  • На данной строке ошибка возникать может лишь в том случае, если нет страницы с прикрепленным модулем Новости или атрибут тега site_id="" задан неверно. Ведь в CMS все страницы занесены в массив $this->diafan->rewrites. Так что вывод предупреждения даже полезен для разработчика (для этого предупреждения и созданы).
    • 22 ноября 2010 г.
    • А если мне к примеру надо сделать это не верно, например для того чтобы разделить новости от обычных объявлений. Объявления скажем не нуждаются в указании даты а вот новости нуждаются. То тогда как? Согласитесь удобно же использовать для объявлений тот-же модуль Новости только id родителя надо изменить а функционал останется тот-же. :) Вот именно по этому у нас вылазит предупреждение и я его полечил таким вот способом.
      • 22 ноября 2010 г.
      • Мне кажется, Вы путаете задачи. Новости и объявления выводить этим тегом можно, конечно. И разделение шаблонов это другая совсем тема. Есть у тега атрибут template для этого. А вывод даты вообще задается в конфигурации модуля, которую можно настроить по своему для каждой страницы.
        Но речь не об этом. Если у Вас есть две страницы Новости и Объявления, к которым прикреплен модуль, то ошибка такая не возникнет. Потому что переменная $this->diafan->rewrites[$site_id]["rewrite"] будет определена в массиве.
        Цитата
        На данной строке ошибка возникать может лишь в том случае, если нет страницы с прикрепленным модулем Новости или атрибут тега site_id="" задан неверно.

        Я подозреваю, что у вас тег вот так написан:
        Код
        <insert name="show_block" module="news" site_id="38" ...>
        При этом нет страницы с номером 38.
        • 22 ноября 2010 г. , редакция: 22 ноября 2010 г.
        • да да - так и сделано. Ничего умнее я непридумал. Поэтому делаю очевидные вещи и прилагаю немного чёрной магии - пользуясь PHP. что естественно в итоге не лучшим образом сказывается на совместимости со следующей версией которая появится уже завтра или после завтра :)

Новости

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

Форум