本文整理汇总了PHP中DataList::map方法的典型用法代码示例。如果您正苦于以下问题:PHP DataList::map方法的具体用法?PHP DataList::map怎么用?PHP DataList::map使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataList
的用法示例。
在下文中一共展示了DataList::map方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getCMSFields
public function getCMSFields()
{
$fields = parent::getCMSFields();
// Remove MCListSegment GridField Tab And Manually Manage
$fields->removeByName("MCListSegments");
// Manually Manage Creation of MCListSegments Based on Selected MCLists
if (empty($this->owner->ID)) {
$lists = new DataList("MCList");
if ($lists->count() > 1) {
$fields->addFieldToTab('Root.Main', new LiteralField('_AffectedMCListsTitle', '<h2>Affected MailChimp Lists</h2>'));
$map = $lists->map("ID", "Name");
$listIDs = new CheckboxSetField('_AffectedMCListIDs', 'Which MailChimp List(s) Does This Event Relate To', $map);
$listIDs->setDefaultItems(array_keys($map->toArray()));
} else {
if ($lists->count() == 1) {
$listIDs = new HiddenField('_AffectedMCListIDs', 'Which MailChimp List(s) Does This Event Relate To', $lists->first()->ID);
} else {
$listIDs = new HiddenField('_AffectedMCListIDs', 'Which MailChimp List(s) Does This Event Relate To', 0);
}
}
$fields->addFieldToTab('Root.Main', $listIDs);
}
// Configure Attendees Gridfield
$gf = $fields->fieldByName('Root.Attendees.Attendees');
if (is_object($gf) && $gf->exists()) {
$gf->setList($this->getMyManyManyComponents('Attendees'));
$config = $gf->getConfig();
$config->removeComponentsByType('GridfieldAddNewButton');
}
return $fields;
}
示例2: getCMSFields
public function getCMSFields()
{
$fields = parent::getCMSFields();
// Validate The Fact That an Actual E-mail Has Been Used
$fields->replaceField("Email", new EmailField("Email", "Email"));
$fields->removeByName('DoubleOptIn');
$fields->removeByName('MCMemberID');
$fields->removeByName('MCListID');
$fields->removeByName('MemberID');
if (empty($this->ID)) {
$fields->removeByName('Subscribed');
}
if (empty($this->UnsubscribeReason)) {
$fields->removeByName('UnsubscribeReason');
}
$lists = new DataList("MCList");
$lists->sort("\"MCList\".\"Name\" ASC");
$map = $lists->map("ID", "Name");
$mcListID = new DropdownField('MCListID', 'MailChimp List', $map);
// Calculate What Parent Object We Are Adding This Subscription record Under (A Specific MCList or A Member)
$params = Director::get_current_page()->getURLParams();
$FormParentObject = end($params);
// If Already Set Don't Allow It To Be Modified
if (!empty($this->MCListID)) {
$mcListID = $mcListID->performReadonlyTransformation();
}
// If Already Set And Read Only Or If Unset But Adding Subscription Record Under Member Object Show The MCListID Filed
if (!empty($this->MCListID) || $FormParentObject == "Members") {
$fields->addFieldToTab('Root.Main', $mcListID);
}
$MCMemberID = new TextField('MCMemberID', 'MailChimp Member ID');
$MCMemberID = $MCMemberID->performReadonlyTransformation();
$MCEmailID = new TextField('MCEmailID', 'MailChimp Email ID');
$MCEmailID = $MCEmailID->performReadonlyTransformation();
$fields->addFieldToTab('Root.Main', $MCMemberID, 'FirstName');
$fields->addFieldToTab('Root.Main', $MCEmailID, 'FirstName');
return $fields;
}
示例3: getListboxOptions
private function getListboxOptions($o)
{
$list = new DataList($o);
return array('' => '') + $list->map()->toArray();
}
示例4: removeExcludedProductsAndSaveIncludedProducts
/**
* Excluded products that can not be purchased
* We all make a record of all the products that are in the current list
* For efficiency sake, we do both these things at the same time.
* IMPORTANT: Adjusts allProducts and returns it...
* @todo: cache data per user ....
* @return DataList
*/
protected function removeExcludedProductsAndSaveIncludedProducts()
{
if (is_array($this->canBePurchasedArray) && is_array($this->canNOTbePurchasedArray)) {
//already done!
} else {
$this->canNOTbePurchasedArray = array();
$this->canBePurchasedArray = array();
if ($this->config()->get("actively_check_for_can_purchase")) {
foreach ($this->allProducts as $buyable) {
if (!$buyable->canPurchase()) {
$this->canNOTbePurchasedArray[$buyable->ID] = $buyable->ID;
} else {
$this->canBePurchasedArray[$buyable->ID] = $buyable->ID;
}
}
} else {
if ($this->rawCount > 0) {
$this->canBePurchasedArray = $this->allProducts->map("ID", "ID")->toArray();
} else {
$this->canBePurchasedArray = array();
}
}
if (count($this->canNOTbePurchasedArray)) {
$this->allProducts = $this->allProducts->Exclude(array("ID" => $this->canNOTbePurchasedArray));
}
}
return $this->allProducts;
}