本文整理汇总了PHP中ModuleManager::config方法的典型用法代码示例。如果您正苦于以下问题:PHP ModuleManager::config方法的具体用法?PHP ModuleManager::config怎么用?PHP ModuleManager::config使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ModuleManager
的用法示例。
在下文中一共展示了ModuleManager::config方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get_positions_dropdown
/**
* Build positions array into dropdown key => value format for CMS fields
* @return array
**/
public static function get_positions_dropdown()
{
$array = [];
foreach (ModuleManager::config()->positions as $position) {
$array[$position] = $position;
}
return $array;
}
示例2: ModulePosition
/**
* Get all modules for a specific position
* @param $alias = string (the alias of the ModulePosition)
* @param $limit = int (limit the number of modules to show, optional)
* @return HTMLText
**/
public function ModulePosition($alias, $limit = false)
{
if (!in_array($alias, ModuleManager::config()->positions)) {
user_error("Trying to call module position \"" . $alias . "\" but this doesn't exist. Make sure you have setup your custom positions in your site config.", E_USER_NOTICE);
}
// get this page's module list for specified position
$modules = $this->PageModules()->Filter('Position', $alias);
// if we have no modules, then nothing doing
if (count($modules) <= 0) {
return false;
}
// allow limiting number of modules, per position
if ($limit) {
$modules = $modules->limit($limit);
}
// store them in a template array (for template loop)
$items = array('Position' => $alias, 'Items' => $modules);
return $this->owner->customise($items)->renderWith('ModuleHolder');
}
示例3: getEditForm
public function getEditForm($id = null, $fields = null)
{
// get the cmsfields from ModuleManager DataObject
$moduleManager = ModuleManager::current_module_manager();
$fields = $moduleManager->getCMSFields();
// what pages is this module active on
$modulesGridField = GridField::create("Modules_Gridfield", "Modules", Module::get(), $modulesGridFieldConfig = GridFieldConfig_RecordEditor::create());
// add multiclass dropdown for modules
$modulesGridFieldConfig->removeComponentsByType('GridFieldAddNewButton');
$modulesGridFieldConfig->addComponent(new GridFieldAddNewMultiClass());
// add the fields
$fields->addFieldToTab('Root.Modules', $modulesGridField);
// module positions tab
$positionsHtml = '<h2>Module positions</h2>';
$positionsHtml .= '<p class="message info">To change these you need to edit the positions specified in the <code>_config.php</code> file. These are your currently configured positions available:</p>';
foreach (ModuleManager::config()->positions as $position) {
$positionsHtml .= '<p>• <strong>' . $position . '</strong><br /> Use in your template with <code>$ModulePosition("' . $position . '");</code></p>';
}
$positionsHtml .= '</ul>';
$fields->addFieldToTab('Root.Positions', LiteralField::create('html', $positionsHtml));
// actions
$actions = $moduleManager->getCMSActions();
$form = CMSForm::create($this, 'EditForm', $fields, $actions)->setHTMLID('Form_EditForm');
$form->setResponseNegotiator($this->getResponseNegotiator());
$form->addExtraClass('cms-content center cms-edit-form');
// don't add data-pjax-fragment=CurrentForm, its added in the content template instead
if ($form->Fields()->hasTabset()) {
$form->Fields()->findOrMakeTab('Root')->setTemplate('CMSTabSet');
}
$form->setHTMLID('Form_EditForm');
$form->loadDataFrom($moduleManager);
$form->setTemplate($this->getTemplatesWithSuffix('_EditForm'));
// Use <button> to allow full jQuery UI styling
$actions = $actions->dataFields();
if ($actions) {
foreach ($actions as $action) {
$action->setUseButtonTag(true);
}
}
return $form;
}