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

Вывод контента страницы в нужном месте.

  • 31 августа 2016 г. , редакция: 31 августа 2016 г.
  • Есть страница.
    Необходимо вывести на главной странице в определенном месте заголовок этой страницы, текст и ссылку на неё.
    Каким образом это можно сделать?
    • 31 августа 2016 г.
    • Вариант супер простой
      Код
      <a href="[URL вашей страницы]"><strong>[Заголовок вашей страницы]</strong></a>
      <p>[Текст вашей страницы]</p>

      вставляете вот эту конструкцию в определенное место на главной странице. И заменяете квадратные скобки на данные которые надо вывести.
      • 31 августа 2016 г. , редакция: 31 августа 2016 г.
      • <sarcasm>Ух ты! Вот это круто!</sarcasm>
        А теперь серьёзно - мне необходимо, что бы при изменении заголовка и текста страницы, эта информация менялась и на главной в том месте где я это вывел. Что бы не править в 2 местах каждый раз.
        • 31 августа 2016 г.
        • http://www.diafan.ru/dokument/full-manual/templates-functions/#show_block_site
          Как-то так.
          Не нравится способ отображения. сделайте свой шаблон и выводите через него.
          • 31 августа 2016 г. , редакция: 31 августа 2016 г.
          • Проблема в том что это дублирование контента, так как блок и страница в последней версии CMS это отдельные несвязанные сущности и в итоге придется при изменении например текста страницы править его ещё и в блоке. А то что в документации написано что <insert name="show_block" module="site" id="7"> выводит контент страницы не верна. так как этот тег выводит контент блока, а не страницы.
            • 31 августа 2016 г.
            • А что мешает использовать блоки?
              • 31 августа 2016 г.
              • Я же написал выше что необходимо что бы была и отдельная страница, и контент этой же страницы выводился на главной в нужном месте.
  • 31 августа 2016 г.
  • У меня кстати точно такой же вопрос - так и не понял каким образом это реализовать. Ведь если делать и страницу и блок отдельно то получается дублирование контента и править придется отдельно в 2 местах каждый раз.
  • 31 августа 2016 г.
  • А вы создайте страницу и блок. Контент данного блока выводите и на главной странице в на внутренней

    Так же есть вариант
    Код


    <?php
    $page_content = file_get_contents('http://www.example.com/');
    echo $page_content;
    ?>

    Можно регулярыми выражениями подчистить немного.
  • 31 августа 2016 г.
  • Ваш вопрос можно решить и так
    Цитата
    Свойства

    var id – номер текущей страницы, уникальный идентификатор каждой страницы сайта.


    Пример:
    $this->diafan->_site->id;
    var name – название текущей страницы.


    Пример:
    $this->diafan->_site->name;
    var keywords – данные из meta-тега keywords текущей страницы.


    Пример:
    $this->diafan->_site->keywords;
    var descr – данные из meta-тега description текущей страницы.


    Пример:
    $this->diafan->_site->descr;
    var parent_id – номер страницы родителя.


    Пример:
    $this->diafan->_site->parent_id;
    var title_no_show – не показывать заголовок h1 текущей страницы, да/нет (1/0).


    Пример:
    $this->diafan->_site->title_no_show;
    var noindex – не индексировать текущую страницу, да/нет (1/0).


    Пример:
    $this->diafan->_site->noindex;
    var title_meta – заголовок текущей страницы из тега title.


    Пример:
    $this->diafan->_site->title_meta;
    var canonical – канонический тег для текущей страницы.


    Пример:
    $this->diafan->_site->canonical;
    var timeedit – время редактирования текущей страницы, в UNIX-формате.


    Пример:
    $this->diafan->_site->timeedit;
    var theme – имя файла шаблона дизайна текущей страницы.


    Пример:
    $this->diafan->_site->theme;
    var js – JavaScript-код.


    Пример:
    $this->diafan->_site->js;
    var module – модуль, прикрепленный к текущей странице.


    Пример:
    $this->diafan->_site->module;
    var text – контент текущей страницы.


    Пример:
    $this->diafan->_site->text;
    var rewrite – ЧПУ текущей страницы, для страницы http://site.ru/news/popular/novost/ в переменной будет "news/popular/novost".


    Пример:
    $this->diafan->_site->rewrite;
    Вышеописанные свойства могут быть заданы при oпределении текущей страницы сайта. Затем в прикрепленном модуле могут быть определены следующие свойства.

    var breadcrumb – часть навигации «Хлебные крошки».


    Пример:
    $this->diafan->_site->breadcrumb;
    var titlemodule – заголовок страницы, сформированный автоматически прикрепленным модулем.


    Пример:
    $this->diafan->_site->titlemodule;
    var titlemodule_meta – заголовок текущей страницы для тега title, сформированный прикрепленным модулем.


    Пример:
    $this->diafan->_site->titlemodule_meta;
    var hide_previous_next – спрятать ссылки на предыдущую, последующую страницы, да/нет (1/0).


    Пример:
    $this->diafan->_site->hide_previous_next;
    var js_view = array() – JS-скрипты, подключемые в модулях.


    Пример:
    // добавляем JS-файл для подключения в конце страницы
    $this->diafan->_site->js_view[] = 'modules/search/js/search.show_search.js';
    Кроме этих свойств с помощью служебной функции __get() можно задать любое свойство страницы и затем его использовать.

    var nocache = false – страница не кэшируется при включенном экстремальном кэшировании.

    Подробнее читаем документацию
  • 31 августа 2016 г.
  • Может быть речь о show_h1, show_title, show_text?
    • 01 сентября 2016 г. , редакция: 01 сентября 2016 г.
    • Но ведь эти теги выводят эту информацию непосредственно на странице? А мне необходимо эту же информацию страницы вывести на главной станице в определенном месте.
    • 01 сентября 2016 г. , редакция: 01 сентября 2016 г.
    • Мне кажется для таких случаев должен быть тег <insert name="show_block" module="page" id="1"> который выведет необходимую инфу в нужном месте. Раньше если я не ошибаюсь можно было пометить страницу как блок и делать такое, но сейчас такой функции нет((
    • 01 сентября 2016 г.
    • Вот более наглядно https://yadi.sk/i/cBAsPnBHuf3jS
      Блок выделенный красным -у него есть кнопка подробнее - то есть мы проваливаемся на эту страницу внутрь. Нужно что бы заголовок и часть текста выводились именно из этой страницы по айдишнику, что бы в случае изменения заголовка, текста и юрл страницы он поменялся и в этом блоке.
      • 01 сентября 2016 г.
      • Сделай страницу к ней прицепи модуль статьи в настройках поставь не использовать категории добавь статью.
        Вставь тег вывода статей в блоке с указателем на страницу к которой прикреплён модуль, количество статей для вывода в блоке 1.
        При необходимости шаблон вставь для отображения блока в нужном стиле. Какие проблемы?
        • 01 сентября 2016 г. , редакция: 01 сентября 2016 г.
        • Это костыли. Даже это выглядит проще:
          Код
          $page = DB::query_fetch_all("SELECT S.name1 as name,S.text1 as text,R.rewrite as url FROM {site} S LEFT JOIN {rewrite} R ON R.element_id=S.id WHERE S.id=9");
          echo $page[0]['name'];

          Но и это костыль. Понятно что так и придется напрямую доставать данные и пихать в шаблон. Но печально что нет готового тега для этого.
          • 01 сентября 2016 г.
          • Тимур (albter56), мне очень хотелось бы понять. Что такое костыль для Вас? Т.е. все должно быть в тегах? Мне это интересно, как разработчику ПО.
            • 01 сентября 2016 г. , редакция: 01 сентября 2016 г.
            • Если разработчики Диафана решили облегчить жизнь нам путем создания тегов, то конечно хотелось бы что бы и на такой частый случай был бы тег. Изначально если я правильно понимаю философию Диафана в шаблонах не должно быть php кода, а должен быть только вывод insert'ов. А так да, прямыми запросами в бд почему бы и не настрочить прямо там)
              • 01 сентября 2016 г.
              • Хм. Логика правильная, но этот случай ваще не частый. Я подобную задачу вообще первый раз вижу за столько лет. Это очень часТный случай и решать должен именно как Вы говорите "костылем". Костылем в виде собственного шаблонного тега, как минимум, как говорит Денис выше, если так охота иметь в шаблоне только теги.
              • 01 сентября 2016 г. , редакция: 01 сентября 2016 г.
              • Проще вставить динамический блок в шаблон и поставить с него ссылку на статью, не?
  • 01 сентября 2016 г.
  • Вот эта вот беседа напоминает мультик. Вовка в тридевятом царстве.
    "Эй двое из ларца. Сделайте мне мороженого, пироженого а ещё конфет."

Новости

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

Форум