Инструменты пользователя

Инструменты сайта


wiki:tips:integrate-dokuwiki-to-your-website

Интегрируйте «ДокуВики» на свой сайт

Что?

  • из вашего PHP-кода возьмите любую страницу из «ДокуВики» и отобразите ее по своему усмотрению ( например, внутри вашего шаблона).
  • никаких изменений в вашей установке «ДокуВики»
  • сделал очень мало кода

Как?

Как работает «ДокуВики»: разметка вики читается парсером, который возвращает инструкции. Эти инструкции обрабатываются средством рендеринга для создания HTML- кода.

Для справки, инструкция выглядит так:

Array
(
    [0] => internallink
    [1] => Array
        (
            [0] => java:spring:hello_world
            [1] => Hello World
        )
 
    [2] => 150
)

Вместо того, чтобы повторять один и тот же процесс по каждому запросу пользователя, «ДокуВики» имеет мощную систему многоуровневого кэширования. Используя его, мы можем просто получить кэшированные инструкции и обработать их с помощью специального средства визуализации для создания собственного HTML- кода (со ссылками на наши страницы PHP, а не с URL-адресами DokuWiki).

Пример

Загрузите его здесь.

Иерархия файлов

  • index.php
  • doc.php
  • докувики
  • включать
    • DokuWikiRendererXHTML.php

Индексная страница содержит несколько ссылок на doc.phpфайлы данных из dokuwikiпапки (стандартная установка «Докувики»). DokuWikiRendererXHTML.php — это пользовательский рендерер (переопределяет некоторые методы стандартного HTML- рендерера DokuWiki ).

Как заставить пример работать

  • doc.php: обновите три переменные в разделе конфигурации.
  • просмотрите index.php в своем браузере (с тем же базовым URL-адресом, который вы указали в doc.php). Нажмите «Стандартный интерфейс DokuWiki». Просмотрите две перечисленные вики-страницы.
  • вернитесь к index.php и просмотрите ссылки «Интегрированные вики-страницы».

Подробности

Мы переопределили средство визуализации «Докувики» только для того, чтобы внутренние ссылки вели на страницы нашего веб-сайта, а не на соответствующие страницы установки «Докувики». «ДокуВики» использует URL-адреса для файлов кэша, поэтому вам необходимо сначала просмотреть страницу в «ДокуВики», прежде чем вы сможете увидеть ее через свой собственный PHP-код. Вы заметите это, только если скопируете/переместите установку «ДокуВики» куда-нибудь еще и попытаетесь просмотреть ее страницы с помощью собственного PHP-кода. Незащищено: можно просмотреть любую страницу из вашей установки «ДокуВики». если вам не нужно «Оглавление» в сгенерированном HTML , добавьте его в doc.php разделе init renderer: <code php>$renderer→notoc();</code>

$renderer->notoc();
Только авторизованные участники могут оставлять комментарии.
wiki/tips/integrate-dokuwiki-to-your-website.txt · Последнее изменение: 2023/09/03 04:41 — vladpolskiy