======Интегрируйте «ДокуВики» на свой сайт====== ====Что?==== * из вашего 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();