$per_page = (int) Tools::getValue('pagination');
    $start = $per_page * $page - $per_page;
    $limit = ' LIMIT ' . $start . ', ' . $per_page . ' ';
    $configuration_view_obj = new GiveItConfigurationView();
    $products_data = $configuration_view_obj->getProductsByCategory($id_category, $id_shop, $id_lang, $order_by, $order_way, $filter, $limit);
    $list_total = count($configuration_view_obj->getProductsByCategory($id_category, $id_shop, $id_lang, $order_by, $order_way, $filter, $limit, true));
    $pagination = version_compare(_PS_VERSION_, '1.6', '>=') ? array(20, 50, 100, 300, 1000) : array(20, 50, 100, 300);
    $total_pages = ceil($list_total / $per_page);
    if (!$total_pages) {
        $total_pages = 1;
    }
    $selected_pagination = Tools::getValue('pagination', isset(Context::getContext()->cookie->{'project_pagination'}) ? Context::getContext()->cookie->{'project_pagination'} : null);
    Context::getContext()->smarty->assign(array('products' => $products_data, 'page' => $page, 'selected_pagination' => $selected_pagination, 'pagination' => $pagination, 'total_pages' => $total_pages, 'list_total' => $list_total, 'cookie_order_by' => $order_by, 'cookie_order_way' => $order_way));
    if (version_compare(_PS_VERSION_, '1.6', '>=')) {
        die(Context::getContext()->smarty->fetch(_GIVEIT_TPL_DIR_ . 'admin/selected_category_ps16.tpl'));
    } else {
        die(Context::getContext()->smarty->fetch(_GIVEIT_TPL_DIR_ . 'admin/selected_category.tpl'));
    }
}
if (Tools::isSubmit('getCombinationSetting')) {
    $id_product = (int) Tools::getValue('id_product');
    $id_combination = (int) Tools::getValue('id_combination');
    die(GiveItProduct::buttonIsDisplayed($id_product, $id_combination));
}
if (Tools::isSubmit('setCombinationSetting')) {
    $id_product = (int) Tools::getValue('id_product');
    $id_combination = (int) Tools::getValue('id_combination');
    $setting_value = Tools::getValue('setting_value');
    $id_shop = (int) Tools::getValue('id_shop');
    die(GiveItProduct::saveProductCombinationSetting($id_product, $id_combination, $setting_value, $id_shop));
}
Beispiel #2
0
 public function getProductCombinations($product)
 {
     /* Build attributes combinations */
     if (version_compare(_PS_VERSION_, '1.5', '<')) {
         $combinations = $product->getAttributeCombinaisons((int) $this->context->language->id);
     } else {
         $combinations = $product->getAttributeCombinations((int) $this->context->language->id);
     }
     $comb_array = array();
     if (is_array($combinations)) {
         foreach ($combinations as $k => $combination) {
             $comb_array[$combination['id_product_attribute']]['id_product_attribute'] = $combination['id_product_attribute'];
             $comb_array[$combination['id_product_attribute']]['attributes'][] = array($combination['group_name'], $combination['attribute_name'], $combination['id_attribute']);
         }
     }
     if ($comb_array) {
         foreach ($comb_array as $id_product_attribute => $product_attribute) {
             $list = '';
             /* In order to keep the same attributes order */
             asort($product_attribute['attributes']);
             foreach ($product_attribute['attributes'] as $attribute) {
                 $list .= $attribute[0] . ' - ' . $attribute[1] . ', ';
             }
             $list = rtrim($list, ', ');
             $comb_array[$id_product_attribute]['attributes'] = $list;
             $display_button = GiveItProduct::buttonIsDisplayed($product->id, $id_product_attribute);
             $comb_array[$id_product_attribute]['display_button'] = $display_button === false ? '' : (int) $display_button;
             $comb_array[$id_product_attribute]['quantity'] = Product::getQuantity($product->id, $id_product_attribute);
         }
     } else {
         $display_button = GiveItProduct::buttonIsDisplayed($product->id, 0);
         $display_button = $display_button === false ? '' : (int) $display_button;
         $comb_array[0] = array('id_product_attribute' => 0, 'attributes' => $product->name, 'display_button' => $display_button, 'quantity' => Product::getQuantity($product->id));
     }
     return $comb_array;
 }