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


PHP SS_List::count方法代码示例

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


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

示例1: getManipulatedData

 /**
  * If an object ID is set, add the object to the list
  *
  * @param GridField $gridField
  * @param SS_List $dataList
  * @return SS_List
  */
 public function getManipulatedData(GridField $gridField, SS_List $dataList)
 {
     if (!$gridField->State->GridFieldAddRelation) {
         return $dataList;
     }
     $objectID = Convert::raw2sql($gridField->State->GridFieldAddRelation);
     if ($objectID) {
         $object = DataObject::get_by_id($dataList->dataclass(), $objectID);
         if ($object) {
             if ($this->_item_limit > 0 && $dataList->count() + 1 > $this->_item_limit) {
                 $gridField->getForm()->getController()->getResponse()->addHeader('X-Status', _t('LimitedRelationsGridField.ITEM_LIMIT_REACHED', '_You cannot add any more items, you can only add {count} items. Please remove one then try again.', array('count' => $this->_item_limit)));
             } else {
                 $dataList->add($object);
             }
         }
     }
     $gridField->State->GridFieldAddRelation = null;
     return $dataList;
 }
开发者ID:helpfulrobot,项目名称:webbuilders-group-silverstripe-limitedrelationsgridfield,代码行数:26,代码来源:LRGridFieldAddExistingAutocompleter.php

示例2: merge_owners

 /**
  * Takes a list of groups and members and return a list of unique member.
  *
  * @param SS_List $groups
  * @param SS_List $members
  *
  * @return ArrayList
  */
 public static function merge_owners(SS_List $groups, SS_List $members)
 {
     $contentReviewOwners = new ArrayList();
     if ($groups->count()) {
         $groupIDs = array();
         foreach ($groups as $group) {
             $familyIDs = $group->collateFamilyIDs();
             if (is_array($familyIDs)) {
                 $groupIDs = array_merge($groupIDs, array_values($familyIDs));
             }
         }
         array_unique($groupIDs);
         if (count($groupIDs)) {
             $groupMembers = DataObject::get("Member")->where("\"Group\".\"ID\" IN (" . implode(",", $groupIDs) . ")")->leftJoin("Group_Members", "\"Member\".\"ID\" = \"Group_Members\".\"MemberID\"")->leftJoin("Group", "\"Group_Members\".\"GroupID\" = \"Group\".\"ID\"");
             $contentReviewOwners->merge($groupMembers);
         }
     }
     $contentReviewOwners->merge($members);
     $contentReviewOwners->removeDuplicates();
     return $contentReviewOwners;
 }
开发者ID:kinglozzer,项目名称:silverstripe-contentreview,代码行数:29,代码来源:SiteTreeContentReview.php

示例3: buildFacets

 /**
  * This is super-slow. I'm assuming if you're using facets you
  * probably also ought to be using Solr or something else. Or
  * maybe you have unlimited time and can refactor this feature
  * and submit a pull request...
  *
  * TODO: If this is going to be used for categories we're going
  * to have to really clean it up and speed it up.
  * Suggestion:
  *  - option to turn off counts
  *  - switch order of nested array so we don't go through results unless needed
  *  - if not doing counts, min/max and link facets can be handled w/ queries
  *  - separate that bit out into a new function
  * NOTE: This is partially done with the "faster_faceting" config
  * option but more could be done, particularly by covering link facets as well.
  *
  * Output - list of ArrayData in the format:
  *   Label - name of the facet
  *   Source - field name of the facet
  *   Type - one of the ShopSearch::FACET_TYPE_XXXX constants
  *   Values - SS_List of possible values for this facet
  *
  * @param SS_List $matches
  * @param array $facetSpec
  * @param bool $autoFacetAttributes [optional]
  * @return ArrayList
  */
 public function buildFacets(SS_List $matches, array $facetSpec, $autoFacetAttributes = false)
 {
     $facets = $this->expandFacetSpec($facetSpec);
     if (!$autoFacetAttributes && (empty($facets) || !$matches || !$matches->count())) {
         return new ArrayList();
     }
     $fasterMethod = (bool) $this->config()->faster_faceting;
     // fill them in
     foreach ($facets as $field => &$facet) {
         if (preg_match(self::config()->attribute_facet_regex, $field, $m)) {
             $this->buildAttributeFacet($matches, $facet, $m[1]);
             continue;
         }
         // NOTE: using this method range and checkbox facets don't get counts
         if ($fasterMethod && $facet['Type'] != ShopSearch::FACET_TYPE_LINK) {
             if ($facet['Type'] == ShopSearch::FACET_TYPE_RANGE) {
                 if (isset($facet['RangeMin'])) {
                     $facet['MinValue'] = $facet['RangeMin'];
                 }
                 if (isset($facet['RangeMax'])) {
                     $facet['MaxValue'] = $facet['RangeMax'];
                 }
             }
             continue;
         }
         foreach ($matches as $rec) {
             // If it's a range facet, set up the min/max
             if ($facet['Type'] == ShopSearch::FACET_TYPE_RANGE) {
                 if (isset($facet['RangeMin'])) {
                     $facet['MinValue'] = $facet['RangeMin'];
                 }
                 if (isset($facet['RangeMax'])) {
                     $facet['MaxValue'] = $facet['RangeMax'];
                 }
             }
             // If the field is accessible via normal methods, including
             // a user-defined getter, prefer that
             $fieldValue = $rec->relObject($field);
             if (is_null($fieldValue) && $rec->hasMethod($meth = "get{$field}")) {
                 $fieldValue = $rec->{$meth}();
             }
             // If not, look for a VFI field
             if (!$fieldValue && $rec->hasExtension('VirtualFieldIndex')) {
                 $fieldValue = $rec->getVFI($field);
             }
             // If we found something, process it
             if (!empty($fieldValue)) {
                 // normalize so that it's iterable
                 if (!is_array($fieldValue) && !$fieldValue instanceof SS_List) {
                     $fieldValue = array($fieldValue);
                 }
                 foreach ($fieldValue as $obj) {
                     if (empty($obj)) {
                         continue;
                     }
                     // figure out the right label
                     if (is_object($obj) && $obj->hasMethod('Nice')) {
                         $lbl = $obj->Nice();
                     } elseif (is_object($obj) && !empty($obj->Title)) {
                         $lbl = $obj->Title;
                     } elseif (is_numeric($obj) && !empty($facet['LabelFormat']) && $facet['LabelFormat'] === 'Currency' && $facet['Type'] !== ShopSearch::FACET_TYPE_RANGE) {
                         $tmp = Currency::create($field);
                         $tmp->setValue($obj);
                         $lbl = $tmp->Nice();
                     } else {
                         $lbl = (string) $obj;
                     }
                     // figure out the value for sorting
                     if (is_object($obj) && $obj->hasMethod('getAmount')) {
                         $val = $obj->getAmount();
                     } elseif (is_object($obj) && !empty($obj->ID)) {
                         $val = $obj->ID;
                     } else {
//.........这里部分代码省略.........
开发者ID:helpfulrobot,项目名称:markguinn-silverstripe-shop-search,代码行数:101,代码来源:FacetHelper.php

示例4: paginateList

 /**
  * turns full list into paginated list
  * @param SS_List
  * @return PaginatedList
  */
 protected function paginateList(SS_List $list)
 {
     if ($list && $list->count()) {
         if ($this->IsShowFullList()) {
             $obj = PaginatedList::create($list, $this->request);
             $obj->setPageLength(EcommerceConfig::get("ProductGroup", "maximum_number_of_products_to_list") + 1);
             return $obj;
         } else {
             $obj = PaginatedList::create($list, $this->request);
             $obj->setPageLength($this->MyNumberOfProductsPerPage());
             return $obj;
         }
     }
 }
开发者ID:abhibavishi,项目名称:silverstripe-ecommerce,代码行数:19,代码来源:ProductGroup.php

示例5: getTemplateVariables

 /**
  * Gets list of safe template variables and their values which can be used
  * in both the static and editable templates.
  *
  * {@see ContentReviewAdminHelp.ss}
  *
  * @param Member     $recipient
  * @param SiteConfig $config
  * @param SS_List    $pages
  * @param string     $type
  *
  * @return array
  */
 protected function getTemplateVariables($recipient = null, $config, $pages)
 {
     if ($recipient != null) {
         return array('Subject' => $config->ReviewSubject, 'PagesCount' => $pages->count(), 'FromEmail' => $config->ReviewFrom, 'ToFirstName' => $recipient->FirstName, 'ToSurname' => $recipient->Surname, 'ToEmail' => $recipient->Email);
     } else {
         return array('Subject' => $config->ReviewSubjectReminder, 'FirstReminderPagesCount' => $pages->count(), 'SecondReminderPagesCount' => $pages->count(), 'FromEmail' => $config->ReviewFrom, 'ToEmail' => $config->ReviewReminderEmail);
     }
 }
开发者ID:GOVTNZ,项目名称:silverstripe-contentreview,代码行数:21,代码来源:ContentReviewEmails.php


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