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