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

Keywords и Description

  • 20 января 2018 г.
  • По мотивам Пожелания - ошибки: https://user.diafan.ru/wishlist/show3053/
    Цитата
    При заполнении полей Keywords и Description в главной странице каталога эти значения распространяются на весь каталог - на категории и товары. Так же не должно быть? Или с какой целью это задумывалось?


    Вообще дискуссионное пожелание. Но вижу в этом логику. То есть склоняюсь к тому, что Keywords и Description страницы, к которой прикреплен модуль, не должны передаваться страницам элементов этого модуля.

    Если кто-то придерживается того же мнения, то решение выглядит так.
    Берем файл includes/controller.php и находим функцию
    Код
    public function get_global_variables() { ... }
    Вот ее код:
    Код
    /**
    * Определяет свойства страницы, если они заданы в модуле
    *
    * @return void
    */
    public function get_global_variables()
    {
    $this->result = $this->model->result;
    $this->diafan->_site->timeedit = ! empty($this->result["timeedit"]) && $this->diafan->_site->timeedit < $this->result["timeedit"]
    ? $this->result["timeedit"]
    : $this->diafan->_site->timeedit;
    if (! empty($this->result["breadcrumb"]))
    {
    $this->diafan->_site->breadcrumb = $this->result["breadcrumb"];
    }

    if (! empty($this->result["title_meta"]))
    {
    $this->diafan->_site->titlemodule_meta = $this->result["title_meta"];
    }
    if (! empty($this->result["titlemodule"]))
    {
    $this->diafan->_site->titlemodule = $this->result["titlemodule"];
    }
    if (! empty($this->result["edit_meta"]))
    {
    $this->diafan->_site->edit_meta = $this->result["edit_meta"];
    }

    if (! empty($this->result["keywords"]))
    {
    $this->diafan->_site->keywords = $this->result["keywords"];
    }
    if (! empty($this->result["descr"]))
    {
    $this->diafan->_site->descr = $this->result["descr"];
    }

    if (! empty($this->result["theme"]))
    {
    $this->diafan->_site->theme = $this->result["theme"];
    }
    if (! empty($this->result["canonical"]))
    {
    $this->diafan->_site->canonical = $this->result["canonical"];
    }
    if (! empty($this->result["noindex"]))
    {
    $this->diafan->_site->noindex = $this->result["noindex"];
    }
    if($this->diafan->_route->cat || $this->diafan->_route->show)
    {
    $langs = $this->diafan->_languages->all;
    foreach ($langs as &$l)
    {
    if(empty($this->result["act".$l["id"]]))
    {
    $l["page_act"] = false;
    }
    }
    $this->diafan->_languages->all = $langs;
    }
    }
    Здесь жирным шрифтом выделил то, что далее удалим (или вместо удаления можно закомментировать).

    Теперь указанный код делаем таким:
    Код
    /**
    * Определяет свойства страницы, если они заданы в модуле
    *
    * @return void
    */
    public function get_global_variables()
    {
    $this->result = $this->model->result;
    $this->diafan->_site->timeedit = ! empty($this->result["timeedit"]) && $this->diafan->_site->timeedit < $this->result["timeedit"]
    ? $this->result["timeedit"]
    : $this->diafan->_site->timeedit;
    if (! empty($this->result["breadcrumb"]))
    {
    $this->diafan->_site->breadcrumb = $this->result["breadcrumb"];
    }

    if (! empty($this->result["title_meta"]))
    {
    $this->diafan->_site->titlemodule_meta = $this->result["title_meta"];
    }
    if (! empty($this->result["titlemodule"]))
    {
    $this->diafan->_site->titlemodule = $this->result["titlemodule"];
    }
    if (! empty($this->result["edit_meta"]))
    {
    $this->diafan->_site->edit_meta = $this->result["edit_meta"];
    }

    if (! empty($this->result["theme"]))
    {
    $this->diafan->_site->theme = $this->result["theme"];
    }
    if (! empty($this->result["canonical"]))
    {
    $this->diafan->_site->canonical = $this->result["canonical"];
    }
    if (! empty($this->result["noindex"]))
    {
    $this->diafan->_site->noindex = $this->result["noindex"];
    }
    if($this->diafan->_route->cat || $this->diafan->_route->show)
    {
    $this->diafan->_site->keywords = isset($this->result["keywords"]) ? $this->result["keywords"] : '';
    $this->diafan->_site->descr = isset($this->result["descr"]) ? $this->result["descr"] : '';


    $langs = $this->diafan->_languages->all;
    foreach ($langs as &$l)
    {
    if(empty($this->result["act".$l["id"]]))
    {
    $l["page_act"] = false;
    }
    }
    $this->diafan->_languages->all = $langs;
    }
    }
    А здесь жирным шрифтом отмечено то, что добавлено.

    Успехов всем.

Новости

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

Форум