当前位置: 首页>>代码示例>>PHP>>正文


PHP PageManager::writePageFiles方法代码示例

本文整理汇总了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;
 }
开发者ID:nickdunn,项目名称:elasticsearch-surfin-shakespeare,代码行数:73,代码来源:class.pagemanager.php

示例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/');
         }
     }
 }
开发者ID:davjand,项目名称:codecept-symphonycms-db,代码行数:45,代码来源:content.blueprintspages.php


注:本文中的PageManager::writePageFiles方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。