======Интегрируйте «ДокуВики» на свой сайт======
====Что?====
* из вашего PHP-кода возьмите любую страницу из «ДокуВики» и отобразите ее по своему усмотрению ( например, внутри вашего шаблона).
* никаких изменений в вашей установке «ДокуВики»
* сделал очень мало кода
====Как?====
Как работает «ДокуВики»: разметка вики читается парсером, который возвращает инструкции. Эти инструкции обрабатываются средством рендеринга для создания HTML- кода.
{{:wiki:tips:dokuwiki_processing.png?400|}}
Для справки, инструкция выглядит так:
Array
(
[0] => internallink
[1] => Array
(
[0] => java:spring:hello_world
[1] => Hello World
)
[2] => 150
)
Вместо того, чтобы повторять один и тот же процесс по каждому запросу пользователя, «ДокуВики» имеет мощную систему многоуровневого кэширования. Используя его, мы можем просто получить кэшированные инструкции и обработать их с помощью специального средства визуализации для создания собственного HTML- кода (со ссылками на наши страницы PHP, а не с URL-адресами DokuWiki).
{{:wiki:tips:dokuwiki_processing_cached.png?400|}}
===== Пример =====
{{ :wiki:tips:dokuwiki_integrated.zip |Загрузите его здесь.}}\\
Иерархия файлов
* 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'': ''$renderer→notoc();
''
$renderer->notoc();