Для многих веб-сайтов вам может потребоваться установить Wordpress для интеграции с блогами.Когда дело доходит до создания блога, вы в значительной степени ограничены копированием html из вашего Zend_Layout в файлы Wordpress header.php и footer.php.Это дублирование, и если вы вносите какие-либо изменения в свой макет, вам также необходимо обновить тему блога.Ну, есть другой способ!
Измените свое Zend-приложение
Создайте отдельный файл начальной загрузки для своего приложения Zend (например, следуя этому руководству: Доступ к ресурсам приложения Zend из других приложений).
<?php
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap();
В вашем файле index.php для запуска приложения:
include('bootstrap.php'); //where bootstrap.php is the file of the new bootstrap file
$application->run();
Магия Wordpress
Теперь прибывает магия Wordpress.
Get Zend Layout
В новой папке Wordpress создайте файл с именем «Zend_Layout.php» и скопируйте / вставьте в него этот код:
<?php
//load Zend_Layout
$layout = new Zend_Layout();
//add the blog's stylesheet to the header
$view = $layout->getView();
$view->headLink()->appendStylesheet(get_bloginfo( 'stylesheet_url' ));
// Set a layout script path:
$layout->setLayoutPath(APPLICATION_PATH . "/modules/default/views/scripts");
$layout = $layout->render();
Заголовок
Измените файл header.php на:
<?php
include('zend_layout.php');
echo substr($layout, 0, strpos($layout, '<div id="container">'));
?>
<div id="container">
Это загрузит переменную $ layout из предыдущего скрипта и отобразит все до вашегоосновной контейнерFooter
footer.php похож:
</div><!-- #main -->
<?php
include('zend_layout.php');
echo substr($layout, strpos($layout, '<div id="footer">'));