1 | <?php |
||
3 | namespace Dynamic\ProductCatalog\ORM; |
||
4 | |||
5 | use Dynamic\ProductCatalog\Page\CatalogCategory; |
||
6 | use SilverStripe\Dev\Debug; |
||
7 | use SilverStripe\Forms\DropdownField; |
||
8 | 2 | use SilverStripe\ORM\ArrayList; |
|
9 | use SilverStripe\ORM\DataExtension; |
||
10 | 2 | ||
11 | 2 | class ProductDocCollectionDataExtension extends DataExtension |
|
12 | 2 | { |
|
13 | 2 | /** |
|
14 | * @param $object |
||
15 | */ |
||
16 | public function updateCollectionObject(&$object) |
||
22 | 1 | ||
23 | 1 | /** |
|
24 | * @param $form |
||
25 | 1 | */ |
|
26 | public function updateCollectionForm(&$form) |
||
40 | |||
41 | public function updateCollectionItems(&$collection, &$searchCriteria) |
||
42 | { |
||
43 | $class = $this->owner->data()->ManagedClass; |
||
44 | |||
45 | if (isset($searchCriteria['CategoryID']) && $searchCriteria['CategoryID'] != '') { |
||
46 | $category = CatalogCategory::get()->byID($searchCriteria['CategoryID']); |
||
47 | $products = $category->Products(); |
||
48 | $docs = new ArrayList(); |
||
49 | |||
50 | foreach($products as $product) { |
||
51 | $records = $class::get()->filter(['Products.ID' => $product->ID]); |
||
52 | foreach ($records as $record) { |
||
53 | $docs->push($record); |
||
54 | } |
||
60 | } |