/** * Get additional content data selected * * @param $result = Query result */ public static function post_find($result) { if ($result !== null) { if (is_array($result)) { foreach ($result as $item) { // It will first check if we already have result in temporary result, // and only execute query if we dont. That way we dont have duplicate queries // Get related products $item->get_products = static::lazy_load(function () use($item) { $products = Model_Product_To_Groups::find(function ($query) use($item) { return $query->where('group_id', $item->id); }, 'product_id'); if (!empty($products)) { $products = '(' . implode(',', array_keys($products)) . ')'; return Model_Product::find(function ($query) use($products, $item) { $query->where('id', 'IN', \DB::expr($products)); $query->order_by('sort', 'asc'); return $query; }, 'id'); } return array(); }, $item->id, 'products'); // Get content children $item->get_children = static::lazy_load(function () use($item) { return Model_Group::find(array('where' => array('parent_id' => $item->id), 'order_by' => array('sort' => 'asc'))); }, $item->id, 'children'); // Get group images $item->get_images = static::lazy_load(function () use($item) { return Model_Group_Image::find(array('where' => array('content_id' => $item->id), 'order_by' => array('sort' => 'asc'))); }, $item->id, 'images'); // Get product groups $item->get_product_groups = static::lazy_load(function () use($item) { $product_groups = \Product\Model_Group::find_by_type('discount'); foreach ($product_groups as $product_group) { $product_group->set_user_group_id($item->id); } return $product_groups; }, $item->id, 'product_groups'); } } } // return the result return $result; }
<?php } ?> <?php } ?> </div> </div> </div> <?php if ($product) { ?> <?php $property_groups = \Product\Model_Group::find_by_type('property'); ?> <div class="side_tree_holder" style="display: none;"> <div class="tree_heading"> <h4>Property Groups</h4> <div id="sidetreecontrol2" class="sidetreecontrol"><a href="#">Collapse All</a><a href="#">Expand All</a></div> </div> <div class="tree_content"> <div id="sidetree"> <?php if (!$product && empty($property_groups)) { ?> <div class="wide"><span class="req">Note: </span> There are no property groups yet.</div> <?php
<?php // END OF: USER SPECIFIC SEARCH FILTERS ?> <?php if (in_array('group_id', $options)) { ?> <div class="filter_width <?php echo $margin(); ?> "> <?php echo \Form::label('Parent Group'); ?> <?php echo \Form::select('parent_id', \Input::get('parent_id'), array('false' => 'Select') + \Product\Model_Group::fetch_pair('id', 'title', array(), false, \Product\Model_Group::find_by_type('property')), array('class' => 'select_init filter_width')); ?> </div> <?php } ?> <?php if (in_array('category_id', $options)) { ?> <div class="filter_width <?php echo $margin(); ?> "> <?php echo \Form::label('Product Categories');
public function action_update_new($id = false) { if (!is_numeric($id)) { \Response::redirect('admin/user/group/list'); } // Get group to edit if (!($item = \Sentry::group((int) $id))) { \Response::redirect('admin/user/group/list'); } \View::set_global('title', 'Edit Group'); $group = \Sentry::group((int) $id); // Find all product groups and set usergroup id $group->product_groups = \Product\Model_Group::find_by_type('pricing'); foreach ($group->product_groups as $product_group) { $product_group->set_user_group_id($group->id); } \Theme::instance()->set_partial('content', $this->view_dir . 'update_new')->set('group', $group); }