function listProductUpdateData($products, $setUrl = 0) { $jshopConfig = JSFactory::getConfig(); $userShop = JSFactory::getUserShop(); $taxes = JSFactory::getAllTaxes(); if ($jshopConfig->product_list_show_manufacturer) { $manufacturers = JSFactory::getAllManufacturer(); } if ($jshopConfig->product_list_show_vendor) { $vendors = JSFactory::getAllVendor(); } if ($jshopConfig->show_delivery_time) { $deliverytimes = JSFactory::getAllDeliveryTime(); } $image_path = $jshopConfig->image_product_live_path; $noimage = $jshopConfig->noimage; JPluginHelper::importPlugin('jshoppingproducts'); $dispatcher = JDispatcher::getInstance(); foreach ($products as $key => $value) { $dispatcher->trigger('onListProductUpdateDataProduct', array(&$products, &$key, &$value)); $use_userdiscount = 1; if ($jshopConfig->user_discount_not_apply_prod_old_price && $products[$key]->product_old_price > 0) { $use_userdiscount = 0; } $products[$key]->_original_product_price = $products[$key]->product_price; $products[$key]->product_price_wp = $products[$key]->product_price; $products[$key]->product_price_default = 0; if ($jshopConfig->product_list_show_min_price) { if ($products[$key]->min_price > 0) { $products[$key]->product_price = $products[$key]->min_price; } } $products[$key]->show_price_from = 0; if ($jshopConfig->product_list_show_min_price && $value->different_prices) { $products[$key]->show_price_from = 1; } $products[$key]->product_price = getPriceFromCurrency($products[$key]->product_price, $products[$key]->currency_id); $products[$key]->product_old_price = getPriceFromCurrency($products[$key]->product_old_price, $products[$key]->currency_id); $products[$key]->product_price_wp = getPriceFromCurrency($products[$key]->product_price_wp, $products[$key]->currency_id); $products[$key]->product_price = getPriceCalcParamsTax($products[$key]->product_price, $products[$key]->tax_id); $products[$key]->product_old_price = getPriceCalcParamsTax($products[$key]->product_old_price, $products[$key]->tax_id); $products[$key]->product_price_wp = getPriceCalcParamsTax($products[$key]->product_price_wp, $products[$key]->tax_id); if ($userShop->percent_discount && $use_userdiscount) { $products[$key]->product_price_default = $products[$key]->_original_product_price; $products[$key]->product_price_default = getPriceFromCurrency($products[$key]->product_price_default, $products[$key]->currency_id); $products[$key]->product_price_default = getPriceCalcParamsTax($products[$key]->product_price_default, $products[$key]->tax_id); $products[$key]->product_price = getPriceDiscount($products[$key]->product_price, $userShop->percent_discount); $products[$key]->product_old_price = getPriceDiscount($products[$key]->product_old_price, $userShop->percent_discount); $products[$key]->product_price_wp = getPriceDiscount($products[$key]->product_price_wp, $userShop->percent_discount); } if ($jshopConfig->list_products_calc_basic_price_from_product_price) { $products[$key]->basic_price_info = getProductBasicPriceInfo($value, $products[$key]->product_price_wp); } else { $products[$key]->basic_price_info = getProductBasicPriceInfo($value, $products[$key]->product_price); } if ($value->tax_id) { $products[$key]->tax = $taxes[$value->tax_id]; } if ($jshopConfig->product_list_show_manufacturer && $value->product_manufacturer_id && isset($manufacturers[$value->product_manufacturer_id])) { $products[$key]->manufacturer = $manufacturers[$value->product_manufacturer_id]; } else { $products[$key]->manufacturer = new stdClass(); $products[$key]->manufacturer->name = ''; } if ($jshopConfig->admin_show_product_extra_field) { $products[$key]->extra_field = getProductExtraFieldForProduct($value); } else { $products[$key]->extra_field = ''; } if ($jshopConfig->product_list_show_vendor) { $vendordata = $vendors[$value->vendor_id]; $vendordata->products = SEFLink("index.php?option=com_jshopping&controller=vendor&task=products&vendor_id=" . $vendordata->id, 1); $products[$key]->vendor = $vendordata; } else { $products[$key]->vendor = ''; } if ($jshopConfig->hide_delivery_time_out_of_stock && $products[$key]->product_quantity <= 0) { $products[$key]->delivery_times_id = 0; $value->delivery_times_id = 0; } if ($jshopConfig->show_delivery_time && $value->delivery_times_id) { $products[$key]->delivery_time = $deliverytimes[$value->delivery_times_id]; } else { $products[$key]->delivery_time = ''; } $products[$key]->_display_price = getDisplayPriceForProduct($products[$key]->product_price); if (!$products[$key]->_display_price) { $products[$key]->product_old_price = 0; $products[$key]->product_price_default = 0; $products[$key]->basic_price_info['price_show'] = 0; $products[$key]->tax = 0; $jshopConfig->show_plus_shipping_in_product = 0; } if ($jshopConfig->product_list_show_qty_stock) { $products[$key]->qty_in_stock = getDataProductQtyInStock($products[$key]); } $image = getPatchProductImage($products[$key]->image, 'thumb'); $products[$key]->product_name_image = $products[$key]->image; $products[$key]->product_thumb_image = $image; if (!$image) { $image = $noimage; } $products[$key]->image = $image_path . "/" . $image; $products[$key]->template_block_product = "product.php"; if (!$jshopConfig->admin_show_product_labels) { $products[$key]->label_id = null; } if ($products[$key]->label_id) { $image = getNameImageLabel($products[$key]->label_id); if ($image) { $products[$key]->_label_image = $jshopConfig->image_labels_live_path . "/" . $image; } $products[$key]->_label_name = getNameImageLabel($products[$key]->label_id, 2); } if ($jshopConfig->display_short_descr_multiline) { $products[$key]->short_description = nl2br($products[$key]->short_description); } } if ($setUrl) { addLinkToProducts($products, 0, 1); } $dispatcher->trigger('onListProductUpdateData', array(&$products)); return $products; }
function display($cachable = false, $urlparams = false) { $mainframe = JFactory::getApplication(); $db = JFactory::getDBO(); $ajax = JRequest::getInt('ajax'); $jshopConfig = JSFactory::getConfig(); $user = JFactory::getUser(); JSFactory::loadJsFilesLightBox(); $session = JFactory::getSession(); $tmpl = JRequest::getVar("tmpl"); if ($tmpl != "component") { $session->set("jshop_end_page_buy_product", $_SERVER['REQUEST_URI']); } $product_id = JRequest::getInt('product_id'); $category_id = JRequest::getInt('category_id'); $attr = JRequest::getVar("attr"); $back_value = $session->get('product_back_value'); if (!isset($back_value['pid'])) { $back_value = array('pid' => null, 'attr' => null, 'qty' => null); } if ($back_value['pid'] != $product_id) { $back_value = array('pid' => null, 'attr' => null, 'qty' => null); } if (!is_array($back_value['attr'])) { $back_value['attr'] = array(); } if (count($back_value['attr']) == 0 && is_array($attr)) { $back_value['attr'] = $attr; } JPluginHelper::importPlugin('jshoppingproducts'); $dispatcher = JDispatcher::getInstance(); $dispatcher->trigger('onBeforeLoadProduct', array(&$product_id, &$category_id, &$back_value)); $dispatcher->trigger('onBeforeLoadProductList', array()); $product = JTable::getInstance('product', 'jshop'); $product->load($product_id); $listcategory = $product->getCategories(1); if (!getDisplayPriceForProduct($product->product_price)) { $jshopConfig->attr_display_addprice = 0; } $attributesDatas = $product->getAttributesDatas($back_value['attr']); $product->setAttributeActive($attributesDatas['attributeActive']); $attributeValues = $attributesDatas['attributeValues']; $attributes = $product->getBuildSelectAttributes($attributeValues, $attributesDatas['attributeSelected']); if (count($attributes)) { $_attributevalue = JTable::getInstance('AttributValue', 'jshop'); $all_attr_values = $_attributevalue->getAllAttributeValues(); } else { $all_attr_values = array(); } $session->set('product_back_value', array()); $product->getExtendsData(); $category = JTable::getInstance('category', 'jshop'); $category->load($category_id); $category->name = $category->getName(); $dispatcher->trigger('onBeforeCheckProductPublish', array(&$product, &$category, &$category_id, &$listcategory)); if ($category->category_publish == 0 || $product->product_publish == 0 || !in_array($product->access, $user->getAuthorisedViewLevels()) || !in_array($category_id, $listcategory)) { JError::raiseError(404, _JSHOP_PAGE_NOT_FOUND); return; } if (getShopMainPageItemid() == JRequest::getInt('Itemid')) { appendExtendPathway($category->getTreeChild(), 'product'); } appendPathWay($product->name); if ($product->meta_title == "") { $product->meta_title = $product->name; } setMetaData($product->meta_title, $product->meta_keyword, $product->meta_description); $product->hit(); $product->product_basic_price_unit_qty = 1; if ($jshopConfig->admin_show_product_basic_price) { $product->getBasicPriceInfo(); } else { $product->product_basic_price_show = 0; } $view_name = "product"; $view_config = array("template_path" => JPATH_COMPONENT . "/templates/" . $jshopConfig->template . "/" . $view_name); $view = $this->getView($view_name, getDocumentType(), '', $view_config); if ($product->product_template == "") { $product->product_template = "default"; } $view->setLayout("product_" . $product->product_template); $_review = JTable::getInstance('review', 'jshop'); if (($allow_review = $_review->getAllowReview()) > 0) { $arr_marks = array(); $arr_marks[] = JHTML::_('select.option', '0', _JSHOP_NOT, 'mark_id', 'mark_value'); for ($i = 1; $i <= $jshopConfig->max_mark; $i++) { $arr_marks[] = JHTML::_('select.option', $i, $i, 'mark_id', 'mark_value'); } $text_review = ''; $select_review = JHTML::_('select.genericlist', $arr_marks, 'mark', 'class="inputbox" size="1"', 'mark_id', 'mark_value'); } else { $select_review = ''; $text_review = $_review->getText(); } if ($allow_review) { JSFactory::loadJsFilesRating(); } if ($jshopConfig->product_show_manufacturer_logo || $jshopConfig->product_show_manufacturer) { $product->manufacturer_info = $product->getManufacturerInfo(); if (!isset($product->manufacturer_info)) { $product->manufacturer_info = new stdClass(); $product->manufacturer_info->manufacturer_logo = ''; $product->manufacturer_info->name = ''; } } else { $product->manufacturer_info = new stdClass(); $product->manufacturer_info->manufacturer_logo = ''; $product->manufacturer_info->name = ''; } if ($jshopConfig->product_show_vendor) { $vendorinfo = $product->getVendorInfo(); $vendorinfo->urllistproducts = SEFLink("index.php?option=com_jshopping&controller=vendor&task=products&vendor_id=" . $vendorinfo->id, 1); $vendorinfo->urlinfo = SEFLink("index.php?option=com_jshopping&controller=vendor&task=info&vendor_id=" . $vendorinfo->id, 1); $product->vendor_info = $vendorinfo; } else { $product->vendor_info = null; } if ($jshopConfig->admin_show_product_extra_field) { $product->extra_field = $product->getExtraFields(); } else { $product->extra_field = null; } if ($jshopConfig->admin_show_freeattributes) { $product->getListFreeAttributes(); foreach ($product->freeattributes as $k => $v) { if (!isset($back_value['freeattr'][$v->id])) { $back_value['freeattr'][$v->id] = ''; } $product->freeattributes[$k]->input_field = '<input type="text" class="inputbox" size="40" name="freeattribut[' . $v->id . ']" value="' . $back_value['freeattr'][$v->id] . '" />'; } $attrrequire = $product->getRequireFreeAttribute(); $product->freeattribrequire = count($attrrequire); } else { $product->freeattributes = null; $product->freeattribrequire = 0; } if ($jshopConfig->product_show_qty_stock) { $product->qty_in_stock = getDataProductQtyInStock($product); } if (!$jshopConfig->admin_show_product_labels) { $product->label_id = null; } if ($product->label_id) { $image = getNameImageLabel($product->label_id); if ($image) { $product->_label_image = $jshopConfig->image_labels_live_path . "/" . $image; } $product->_label_name = getNameImageLabel($product->label_id, 2); } $hide_buy = 0; if ($jshopConfig->user_as_catalog) { $hide_buy = 1; } if ($jshopConfig->hide_buy_not_avaible_stock && $product->product_quantity <= 0) { $hide_buy = 1; } $available = ""; if ($product->getQty() <= 0 && $product->product_quantity > 0) { $available = _JSHOP_PRODUCT_NOT_AVAILABLE_THIS_OPTION; } elseif ($product->product_quantity <= 0) { $available = _JSHOP_PRODUCT_NOT_AVAILABLE; } $product->_display_price = getDisplayPriceForProduct($product->getPriceCalculate()); if (!$product->_display_price) { $product->product_old_price = 0; $product->product_price_default = 0; $product->product_basic_price_show = 0; $product->product_is_add_price = 0; $product->product_tax = 0; $jshopConfig->show_plus_shipping_in_product = 0; } if (!$product->_display_price) { $hide_buy = 1; } $default_count_product = 1; if ($jshopConfig->min_count_order_one_product > 1) { $default_count_product = $jshopConfig->min_count_order_one_product; } if ($back_value['qty']) { $default_count_product = $back_value['qty']; } if (trim($product->description) == "") { $product->description = $product->short_description; } if ($jshopConfig->use_plugin_content) { changeDataUsePluginContent($product, "product"); } $product->button_back_js_click = "history.go(-1);"; if ($session->get('jshop_end_page_list_product') && $jshopConfig->product_button_back_use_end_list) { $product->button_back_js_click = "location.href='" . $session->get('jshop_end_page_list_product') . "';"; } $displaybuttons = ''; if ($jshopConfig->hide_buy_not_avaible_stock && $product->getQty() <= 0) { $displaybuttons = 'display:none;'; } $product_images = $product->getImages(); $product_videos = $product->getVideos(); $product_demofiles = $product->getDemoFiles(); $dispatcher->trigger('onBeforeDisplayProductList', array(&$product->product_related)); $dispatcher->trigger('onBeforeDisplayProduct', array(&$product, &$view, &$product_images, &$product_videos, &$product_demofiles)); $view->assign('config', $jshopConfig); $view->assign('image_path', $jshopConfig->live_path . '/images'); $view->assign('noimage', $jshopConfig->noimage); $view->assign('image_product_path', $jshopConfig->image_product_live_path); $view->assign('video_product_path', $jshopConfig->video_product_live_path); $view->assign('video_image_preview_path', $jshopConfig->video_product_live_path); $view->assign('product', $product); $view->assign('category_id', $category_id); $view->assign('images', $product_images); $view->assign('videos', $product_videos); $view->assign('demofiles', $product_demofiles); $view->assign('attributes', $attributes); $view->assign('all_attr_values', $all_attr_values); $view->assign('related_prod', $product->product_related); $view->assign('path_to_image', $jshopConfig->live_path . 'images/'); $view->assign('live_path', JURI::root()); $view->assign('enable_wishlist', $jshopConfig->enable_wishlist); $view->assign('action', SEFLink('index.php?option=com_jshopping&controller=cart&task=add', 1)); $view->assign('urlupdateprice', SEFLink('index.php?option=com_jshopping&controller=product&task=ajax_attrib_select_and_price&product_id=' . $product_id . '&ajax=1', 1, 1)); if ($allow_review) { $context = "jshoping.list.front.product.review"; $limit = $mainframe->getUserStateFromRequest($context . 'limit', 'limit', 20, 'int'); $limitstart = JRequest::getInt('limitstart'); $total = $product->getReviewsCount(); $view->assign('reviews', $product->getReviews($limitstart, $limit)); jimport('joomla.html.pagination'); $pagination = new JPagination($total, $limitstart, $limit); $pagenav = $pagination->getPagesLinks(); $view->assign('pagination', $pagenav); $view->assign('pagination_obj', $pagination); $view->assign('display_pagination', $pagenav != ""); } $view->assign('allow_review', $allow_review); $view->assign('select_review', $select_review); $view->assign('text_review', $text_review); $view->assign('stars_count', floor($jshopConfig->max_mark / $jshopConfig->rating_starparts)); $view->assign('parts_count', $jshopConfig->rating_starparts); $view->assign('user', $user); $view->assign('shippinginfo', SEFLink('index.php?option=com_jshopping&controller=content&task=view&page=shipping', 1)); $view->assign('hide_buy', $hide_buy); $view->assign('available', $available); $view->assign('default_count_product', $default_count_product); $view->assign('folder_list_products', "list_products"); $view->assign('back_value', $back_value); $view->assign('displaybuttons', $displaybuttons); $dispatcher->trigger('onBeforeDisplayProductView', array(&$view)); $view->display(); $dispatcher->trigger('onAfterDisplayProduct', array(&$product)); if ($ajax) { die; } }
function getData($number) { nextendimport('nextend.database.database'); $db = NextendDatabase::getInstance(); require_once JPATH_SITE . "/components/com_jshopping/lib/factory.php"; $jshopConfig = JSFactory::getConfig(); $lang = JSFactory::getLang(); $session = JFactory::getSession(); $data = array(); $where = array(); $category = array_map('intval', explode('||', $this->_data->get('joomshoppingproductssourcecategory', ''))); if (!in_array(0, $category) && count($category) > 0) { $where[] = 'pr_cat.category_id IN (' . implode(',', $category) . ') '; } if ($this->_data->get('joomshoppingproductssourcepublished', 1)) { $where[] = ' pr.product_publish = 1 '; } if ($this->_data->get('joomshoppingproductssourceinstock', 0)) { $where[] = ' (pr.product_quantity > 0 OR pr.unlimited = 1) '; } if ($labelid = $this->_data->get('joomshoppingproductssourcelabel', 0)) { $where[] = ' pr.label_id = "' . $labelid . '" '; } $o = ''; $order = NextendParse::parse($this->_data->get('joomshoppingproductsorder1', 'pr.name|*|asc')); if ($order[0]) { if ($order[0] == 'pr.name') { $order[0] = 'pr.`' . $lang->get('name') . '`'; } $o .= 'ORDER BY ' . $order[0] . ' ' . $order[1] . ' '; $order = NextendParse::parse($this->_data->get('joomshoppingproductsorder2', 'pr.name|*|asc')); if ($order[0]) { if ($order[0] == 'pr.name') { $order[0] = 'pr.`' . $lang->get('name') . '`'; } $o .= ', ' . $order[0] . ' ' . $order[1] . ' '; } } $query = "SELECT \r\n pr.product_id, \r\n pr.product_publish, \r\n pr_cat.product_ordering, \r\n pr.`" . $lang->get('name') . "` as name, \r\n pr.`" . $lang->get('short_description') . "` as short_description, \r\n man.`" . $lang->get('name') . "` as man_name, \r\n pr.product_ean as ean, \r\n pr.product_quantity as qty, \r\n pri.image_name as image, \r\n pr.product_price,\r\n pr.currency_id, \r\n pr.hits, \r\n pr.unlimited, \r\n pr.product_date_added, \r\n pr.label_id, \r\n pr.vendor_id, \r\n V.f_name as v_f_name, \r\n V.l_name as v_l_name,\r\n cat.category_image,\r\n cat.category_id,\r\n cat.`" . $lang->get('name') . "` as category_name, \r\n cat.`" . $lang->get('alias') . "` as category_alias, \r\n cat.`" . $lang->get('short_description') . "` as category_short_description, \r\n cat.`" . $lang->get('description') . "` as category_description\r\n FROM `#__jshopping_products` AS pr\r\n LEFT JOIN `#__jshopping_products_to_categories` AS pr_cat USING (product_id)\r\n LEFT JOIN `#__jshopping_categories` AS cat USING (category_id)\r\n LEFT JOIN `#__jshopping_manufacturers` AS man ON pr.product_manufacturer_id=man.manufacturer_id\r\n LEFT JOIN `#__jshopping_vendors` as V on pr.vendor_id=V.id\r\n LEFT JOIN `#__jshopping_products_images` as pri on pr.product_id=pri.product_id\r\n WHERE pr.parent_id=0 " . (count($where) ? ' AND ' . implode(' AND ', $where) : '') . " GROUP BY pr.product_id " . $o . " LIMIT 0, " . $number; $db->setQuery($query); $result = $db->loadAssocList(); for ($i = 0; $i < count($result); $i++) { $product = JTable::getInstance('product', 'jshop'); $product->load($result[$i]['product_id']); $attr = JRequest::getVar("attr"); $back_value = $session->get('product_back_value'); if (!isset($back_value['pid'])) { $back_value = array('pid' => null, 'attr' => null, 'qty' => null); } if ($back_value['pid'] != $product_id) { $back_value = array('pid' => null, 'attr' => null, 'qty' => null); } if (!is_array($back_value['attr'])) { $back_value['attr'] = array(); } if (count($back_value['attr']) == 0 && is_array($attr)) { $back_value['attr'] = $attr; } $attributesDatas = $product->getAttributesDatas($back_value['attr']); $product->setAttributeActive($attributesDatas['attributeActive']); getDisplayPriceForProduct($product->product_price); $product->getExtendsData(); $result[$i]['title'] = $result[$i]['name']; $result[$i]['price'] = formatprice($product->getPriceCalculate()); $op = $product->getOldPrice(); $result[$i]['product_old_price'] = $op > 0 ? formatprice($op) : ''; $result[$i]['url'] = SEFLink('index.php?option=com_jshopping&controller=product&task=view&product_id=' . $result[$i]['product_id'] . '&category_id=' . $result[$i]['category_id']); $result[$i]['category_url'] = SEFLink('index.php?option=com_jshopping&controller=category&task=view&category_id=' . $result[$i]['category_id']); $result[$i]['addtocart'] = $result[$i]['add_to_cart_url'] = SEFLink('index.php?option=com_jshopping&controller=cart&task=add&quantity=1&to=cart&product_id=' . $result[$i]['product_id'] . '&category_id=' . $result[$i]['category_id']); $result[$i]['addtocart_label'] = 'Add to cart'; $result[$i]['image_full'] = $jshopConfig->image_product_live_path . '/full_' . $result[$i]['image']; $result[$i]['thumbnail'] = $result[$i]['image_thumb'] = $jshopConfig->image_product_live_path . '/thumb_' . $result[$i]['image']; $result[$i]['image'] = $jshopConfig->image_product_live_path . '/' . $result[$i]['image']; } return $result; }
public function prepareView($back_value = array()) { $jshopConfig = JSFactory::getConfig(); $product = $this->product; if (!getDisplayPriceForProduct($product->product_price)) { $jshopConfig->attr_display_addprice = 0; } $back_value_attr = (array) $back_value['attr']; $this->attributes = $product->getInitLoadAttribute($back_value_attr); if (count($this->attributes)) { $_attributevalue = JSFactory::getTable('AttributValue', 'jshop'); $this->all_attr_values = $_attributevalue->getAllAttributeValues(); } else { $this->all_attr_values = array(); } $product->getExtendsData(); $product->product_basic_price_unit_qty = 1; if ($jshopConfig->admin_show_product_basic_price) { $product->getBasicPriceInfo(); } else { $product->product_basic_price_show = 0; } if ($product->product_template == "") { $product->product_template = "default"; } $_review = JSFactory::getTable('review', 'jshop'); $this->allow_review = $_review->getAllowReview(); if ($this->allow_review > 0) { $arr_marks = array(); $arr_marks[] = JHTML::_('select.option', '0', _JSHOP_NOT, 'mark_id', 'mark_value'); for ($i = 1; $i <= $jshopConfig->max_mark; $i++) { $arr_marks[] = JHTML::_('select.option', $i, $i, 'mark_id', 'mark_value'); } $this->text_review = ''; $this->select_review = JHTML::_('select.genericlist', $arr_marks, 'mark', 'class="inputbox"', 'mark_id', 'mark_value'); } else { $this->select_review = ''; $this->text_review = $_review->getText(); } if ($jshopConfig->product_show_manufacturer_logo || $jshopConfig->product_show_manufacturer) { $product->manufacturer_info = $product->getManufacturerInfo(); if (!isset($product->manufacturer_info)) { $product->manufacturer_info = new stdClass(); $product->manufacturer_info->manufacturer_logo = ''; $product->manufacturer_info->name = ''; } } else { $product->manufacturer_info = new stdClass(); $product->manufacturer_info->manufacturer_logo = ''; $product->manufacturer_info->name = ''; } if ($jshopConfig->product_show_vendor) { $vendorinfo = $product->getVendorInfo(); $vendorinfo->urllistproducts = SEFLink("index.php?option=com_jshopping&controller=vendor&task=products&vendor_id=" . $vendorinfo->id, 1); $vendorinfo->urlinfo = SEFLink("index.php?option=com_jshopping&controller=vendor&task=info&vendor_id=" . $vendorinfo->id, 1); $product->vendor_info = $vendorinfo; } else { $product->vendor_info = null; } if ($jshopConfig->admin_show_product_extra_field) { $product->extra_field = $product->getExtraFields(); } else { $product->extra_field = null; } if ($jshopConfig->admin_show_freeattributes) { $product->getListFreeAttributes(); foreach ($product->freeattributes as $k => $v) { if (!isset($back_value['freeattr'][$v->id])) { $back_value['freeattr'][$v->id] = ''; } $product->freeattributes[$k]->input_field = $this->getInputFreeAttribute($v->id, $back_value['freeattr'][$v->id]); } $attrrequire = $product->getRequireFreeAttribute(); $product->freeattribrequire = count($attrrequire); } else { $product->freeattributes = null; $product->freeattribrequire = 0; } if ($jshopConfig->product_show_qty_stock) { $product->qty_in_stock = getDataProductQtyInStock($product); } if (!$jshopConfig->admin_show_product_labels) { $product->label_id = null; } if ($product->label_id) { $image = getNameImageLabel($product->label_id); if ($image) { $product->_label_image = $jshopConfig->image_labels_live_path . "/" . $image; } $product->_label_name = getNameImageLabel($product->label_id, 2); } $product->_display_price = getDisplayPriceForProduct($product->getPriceCalculate()); if (!$product->_display_price) { $product->product_old_price = 0; $product->product_price_default = 0; $product->product_basic_price_show = 0; $product->product_is_add_price = 0; $product->product_tax = 0; $jshopConfig->show_plus_shipping_in_product = 0; } if (trim($product->description) == "") { $product->description = $product->short_description; } if ($jshopConfig->use_plugin_content) { changeDataUsePluginContent($product, "product"); } $product->hide_delivery_time = 0; if (!$product->getDeliveryTimeId()) { $product->hide_delivery_time = 1; } $product->button_back_js_click = "history.go(-1);"; $end_page_list = $this->getEndPageList(); if ($end_page_list && $jshopConfig->product_button_back_use_end_list) { $product->button_back_js_click = "location.href='" . jsFilterUrl($end_page_list) . "';"; } }