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


PHP CRM_Core_StateMachine::getPages方法代码示例

本文整理汇总了PHP中CRM_Core_StateMachine::getPages方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_StateMachine::getPages方法的具体用法?PHP CRM_Core_StateMachine::getPages怎么用?PHP CRM_Core_StateMachine::getPages使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CRM_Core_StateMachine的用法示例。


在下文中一共展示了CRM_Core_StateMachine::getPages方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: addPages

 /**
  * Add pages to the controller. Note that the controller does not really care
  * the order in which the pages are added
  *
  * @param CRM_Core_StateMachine $stateMachine
  * @param \const|int $action the mode in which the state machine is operating
  *                              typically this will be add/view/edit
  */
 public function addPages(&$stateMachine, $action = CRM_Core_Action::NONE)
 {
     $pages = $stateMachine->getPages();
     foreach ($pages as $name => $value) {
         $className = CRM_Utils_Array::value('className', $value, $name);
         $title = CRM_Utils_Array::value('title', $value);
         $options = CRM_Utils_Array::value('options', $value);
         $stateName = CRM_Utils_String::getClassName($className);
         if (!empty($value['className'])) {
             $formName = $name;
         } else {
             $formName = CRM_Utils_String::getClassName($name);
         }
         $ext = CRM_Extension_System::singleton()->getMapper();
         if ($ext->isExtensionClass($className)) {
             require_once $ext->classToPath($className);
         } else {
             require_once str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
         }
         ${$stateName} = new $className($stateMachine->find($className), $action, 'post', $formName);
         if ($title) {
             ${$stateName}->setTitle($title);
         }
         if ($options) {
             ${$stateName}->setOptions($options);
         }
         if (property_exists(${$stateName}, 'urlPath') && isset($_GET[CRM_Core_Config::singleton()->userFrameworkURLVar])) {
             ${$stateName}->urlPath = explode('/', $_GET[CRM_Core_Config::singleton()->userFrameworkURLVar]);
         }
         $this->addPage(${$stateName});
         $this->addAction($stateName, new HTML_QuickForm_Action_Direct());
         //CRM-6342 -we need kill the reference here,
         //as we have deprecated reference object creation.
         unset(${$stateName});
     }
 }
开发者ID:FundingWorks,项目名称:civicrm-core,代码行数:44,代码来源:Controller.php


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