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

Несколько нубских вопросов

  • 11 июля 2011 г.
  • Здравствуйте.

    Был бы очень благодарен, если поможете решить некоторые моменты:

    1) Ограничение кол-ва символов в ЧПУ

    Можно ли его отключить (ограничение) или прописать большее значение, т.к. диафан обрубает урл и получается не совсем красиво и приходится вручную прописывать транслитом. А то получается так: /dostachno-dlinnoe-kluch/ вместо /dostachno-dlinnoe-kluchevoe-slovo/

    2) Вывод всего содержимого модуля на карту сайта

    Например, мне очень хотелось бы вывести все статьи на карту сайта, а не одну ссылку на раздел со статьями, аналогично и с факом. Как?

    Пока все...
    • 11 июля 2011 г.
    • И Вам здравствуйте!
      1. У нас diafan.CMS очень логичная и предсказуемая. Чуть-чуть думаем: длинные ЧПУ обрубаются и генерятся короткими. В какой момент это происходит? Когда мы заходим в "страницы сайта" в админке и жмем сохранить новую страницу. Очевидно, что это модуль "Страницы сайта". Где у нас все модули? В папке /modules/. Идем туда, смотрим и видим папку /site/. В ней папка /admin/ - управление страницами в админке. И там уже файлик modules\site\admin\site.admin.php
      Открываем его и смотрим: функция show_module, функция edit_theme_module, затем edit_addmodule_module и о-о: save_rewrite_module - то, что надо
      /**
      * Сохранение поля "Псевдоссылка"
      * @return boolean true
      */
      И смотрим комменты:
      //если псевдоссылка не задана, она генерируется из имени страницы
      $rewrite = $this->diafan->translit($_POST["name"]);
      $rewrite = preg_replace('/[^A-Za-z0-9-_]+/', '', $rewrite);
      //берутся первые 50 символов
      $rewrite = strtolower(substr($rewrite, 0, 50));
      Круто, мы нашли
      Меняем 50 на 500 и вот вам длинные длинные чпу :)

      2. Это же касается карты сайта /modules/map/map.model.php там все формируется. Только скажите, для чего Вам на карте сайта выводить все это? У нас встречалиссь сайты где 6000 вопросов-ответов. Что это будет за портянка? Сколько она будет грузиться? Назначение карты сайта - упростить навигацию по сайту для посетителей сайта, для людей! Карта сайта должна быть быстрой и лаконичной. А уже выйдя в раздел "Вопрос-ответ" легко можно выйти на любой вопрос.
      А для поисковых роботов есть sitemap.xml, в котором генерируется всё-всё, включая каждую новость и вопрос-ответ. Укажите его поисковикам и пусть себе индексируют.
      • 11 июня 2012 г.
      • Тоже хотед снять ограничение на количество знаков в псевдоссылке, но не могу найти это место в файле site.admin.php, в модуле save_rewrite_module, чтобы увеличить с 50 до, например, 1000 символов.
        Версия - 5.0.1.
      • 15 ноября 2012 г.
      • Цитата
        2. Это же касается карты сайта /modules/map/map.model.php там все формируется. Только скажите, для чего Вам на карте сайта выводить все это? У нас встречалиссь сайты где 6000 вопросов-ответов. Что это будет за портянка? Сколько она будет грузиться? Назначение карты сайта - упростить навигацию по сайту для посетителей сайта, для людей! Карта сайта должна быть быстрой и лаконичной. А уже выйдя в раздел "Вопрос-ответ" легко можно выйти на любой вопрос.
        А для поисковых роботов есть sitemap.xml, в котором генерируется всё-всё, включая каждую новость и вопрос-ответ. Укажите его поисковикам и пусть себе индексируют.


        Всёже нужна реализация данного вопроса, некоторым заказчикам это принципиально...

        Выложите сюда плиз файл с готовым решением данного вопроса если вам это не трудно...
  • 11 июня 2012 г.
  • Обыскался, но во всём Диафане нигде нет этого ключевого "слова" $rewrite, 0, 50.
    Искал с помощью Folder Find Text.
    Наврное сейчас это иначе называется и в каком-то другом файле находится, а не в modulessiteadminsite.admin.php
  • 15 ноября 2012 г.
  • Спасибо, давным-давно решил вопрос через тех. поддержку :)
  • 15 ноября 2012 г.
  • Так что вопрос со показом на карте сайта всех статей в категории статьи не кто не решил?
    • 19 ноября 2012 г.
    • Решил вопрос недождавшисть ответа...
      Код

      /**
      * Формирует URL страниц элементов модуля
      *
      * @param integer $id номер категории
      * @param integer $site_id номер страницы
      * @param integer $margin отступ слева
      * @param string $module название модуля
      * @return boolean true
      */
      private function map_module_element($id, $site_id, $margin, $module)
      {
      $margin += 20;
      $cat_id = '';
      if ($this->diafan->configmodules("cat", $module, $site_id))
      {
      $cat_id = ", e.cat_id";
      }
      $result = DB::query(
      "SELECT * FROM {".$module."} WHERE site_id=%d AND cat_id=%d ORDER BY created DESC", $site_id, $id

      );
      if ($result)
      {
      while ($row = DB::fetch_array($result))
      {
      if (empty($row["cat_id"]))
      {
      $row["cat_id"] = 0;
      }
      $link = $this->diafan->_route->link($row["site_id"], $module, $row["cat_id"], $row["id"]);
      $this->result[] = array(
      "margin" => $margin,
      "link" => $link,
      "name" => $row["name"]
      );
      }
      }
      return true;
      }

      Это последняя закомментированная функция в файле, также надо раскомментировать строку в предидущей функции
      Код
      $this->map_module_element($row["id"], $site_id, $margin, $module);

Новости

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

Форум