本文整理汇总了PHP中PageManager::writePageFiles方法的典型用法代码示例。如果您正苦于以下问题:PHP PageManager::writePageFiles方法的具体用法?PHP PageManager::writePageFiles怎么用?PHP PageManager::writePageFiles使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PageManager
的用法示例。
在下文中一共展示了PageManager::writePageFiles方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createPageFiles
/**
* This function creates the initial `.xsl` template for the page, whether
* that be from the `TEMPLATES/blueprints.page.xsl` file, or from an existing
* template with the same name. This function will handle the renaming of a page
* by creating the new files using the old files as the templates then removing
* the old template. If a template already exists for a Page, it will not
* be overridden and the function will return true.
*
* @see toolkit.PageManager#resolvePageFileLocation()
* @see toolkit.PageManager#createHandle()
* @param string $new_path
* The path of the Page, which is the handles of the Page parents. If the
* page has multiple parents, they will be separated by a forward slash.
* eg. article/read. If a page has no parents, this parameter should be null.
* @param string $new_handle
* The new Page handle, generated using `PageManager::createHandle`.
* @param string $old_path (optional)
* This parameter is only required when renaming a Page. It should be the 'old
* path' before the Page was renamed.
* @param string $old_handle (optional)
* This parameter is only required when renaming a Page. It should be the 'old
* handle' before the Page was renamed.
* @return boolean
* True when the page files have been created successfully, false otherwise.
*/
public static function createPageFiles($new_path, $new_handle, $old_path = null, $old_handle = null)
{
$new = PageManager::resolvePageFileLocation($new_path, $new_handle);
$old = PageManager::resolvePageFileLocation($old_path, $old_handle);
$data = null;
// Nothing to do:
if (file_exists($new) && $new == $old) {
return true;
}
// Old file doesn't exist, use template:
if (!file_exists($old)) {
$data = file_get_contents(self::getTemplate('blueprints.page'));
} else {
$data = file_get_contents($old);
}
/**
* Just before a Page Template is about to be created & written to disk
*
* @delegate PageTemplatePreCreate
* @since Symphony 2.2.2
* @param string $context
* '/blueprints/pages/'
* @param string $file
* The path to the Page Template file
* @param string $contents
* The contents of the `$data`, passed by reference
*/
Symphony::ExtensionManager()->notifyMembers('PageTemplatePreCreate', '/blueprints/pages/', array('file' => $new, 'contents' => &$data));
if (PageManager::writePageFiles($new, $data)) {
// Remove the old file, in the case of a rename
if (file_exists($old)) {
General::deleteFile($old);
}
/**
* Just after a Page Template is saved after been created.
*
* @delegate PageTemplatePostCreate
* @since Symphony 2.2.2
* @param string $context
* '/blueprints/pages/'
* @param string $file
* The path to the Page Template file
*/
Symphony::ExtensionManager()->notifyMembers('PageTemplatePostCreate', '/blueprints/pages/', array('file' => $new));
return true;
}
return false;
}
示例2: __actionTemplate
public function __actionTemplate()
{
$filename = $this->_context[1] . '.xsl';
$file_abs = PAGES . '/' . $filename;
$fields = $_POST['fields'];
$this->_errors = array();
if (!isset($fields['body']) || trim($fields['body']) == '') {
$this->_errors['body'] = __('This is a required field.');
} else {
if (!General::validateXML($fields['body'], $errors, false, new XSLTProcess())) {
$this->_errors['body'] = __('This document is not well formed.') . ' ' . __('The following error was returned:') . ' <code>' . $errors[0]['message'] . '</code>';
}
}
if (empty($this->_errors)) {
/**
* Just before a Page Template is about to written to disk
*
* @delegate PageTemplatePreEdit
* @since Symphony 2.2.2
* @param string $context
* '/blueprints/pages/template/'
* @param string $file
* The path to the Page Template file
* @param string $contents
* The contents of the `$fields['body']`, passed by reference
*/
Symphony::ExtensionManager()->notifyMembers('PageTemplatePreEdit', '/blueprints/pages/template/', array('file' => $file_abs, 'contents' => &$fields['body']));
if (!PageManager::writePageFiles($file_abs, $fields['body'])) {
$this->pageAlert(__('Page Template could not be written to disk.') . ' ' . __('Please check permissions on %s.', array('<code>/workspace/pages</code>')), Alert::ERROR);
} else {
/**
* Just after a Page Template has been edited and written to disk
*
* @delegate PageTemplatePostEdit
* @since Symphony 2.2.2
* @param string $context
* '/blueprints/pages/template/'
* @param string $file
* The path to the Page Template file
*/
Symphony::ExtensionManager()->notifyMembers('PageTemplatePostEdit', '/blueprints/pages/template/', array('file' => $file_abs));
redirect(SYMPHONY_URL . '/blueprints/pages/template/' . $this->_context[1] . '/saved/');
}
}
}