本文整理汇总了PHP中vmJsApi::jPrice方法的典型用法代码示例。如果您正苦于以下问题:PHP vmJsApi::jPrice方法的具体用法?PHP vmJsApi::jPrice怎么用?PHP vmJsApi::jPrice使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vmJsApi
的用法示例。
在下文中一共展示了vmJsApi::jPrice方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: onBeforeRender
function onBeforeRender()
{
if ($this->app->isAdmin()) {
return;
}
$app = JFactory::getApplication();
$option = $app->input->get('option');
$view = $app->input->get('view');
$tmpl = $app->input->get('tmpl');
$document = JFactory::getDocument();
if ($app->isSite() && $tmpl != 'component') {
if (!defined('SMART_JQUERY') && (int) $this->params->get('include_jquery', '1')) {
$document->addScript(JURI::root(true) . '/plugins/system/plg_sj_vm_quickview/assets/js/jquery-1.8.2.min.js');
$document->addScript(JURI::root(true) . '/plugins/system/plg_sj_vm_quickview/assets/js/jquery-noconflict.js');
define('SMART_JQUERY', 1);
}
if (!class_exists('VmConfig')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'config.php';
}
VmConfig::loadConfig();
if (class_exists('vmJsApi')) {
vmJsApi::jPrice();
}
$document->addScript(JURI::root(true) . '/plugins/system/plg_sj_vm_quickview/assets/js/jquery.fancybox.js');
$document->addStyleSheet(JURI::root(true) . '/plugins/system/plg_sj_vm_quickview/assets/css/jquery.fancybox.css');
$document->addStyleSheet(JURI::root(true) . '/plugins/system/plg_sj_vm_quickview/assets/css/quickview.css');
}
return true;
}
示例2: store
static function store($config, $item)
{
// Load the language file of com_virtuemart.
JFactory::getLanguage()->load('com_virtuemart');
// Load path constant
if (!defined('VMPATH_ADMIN')) {
define('VMPATH_ADMIN', JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart');
}
// Load VM configuration if necessary
if (!class_exists('VmConfig')) {
require JPATH_ROOT . DS . 'administrator' . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'config.php';
VmConfig::loadConfig();
}
// load necessary classes
if (!class_exists('calculationHelper')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'calculationh.php';
}
if (!class_exists('CurrencyDisplay')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'currencydisplay.php';
}
if (!class_exists('VirtueMartModelVendor')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'models' . DS . 'vendor.php';
}
if (!class_exists('VmImage')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'image.php';
}
if (!class_exists('shopFunctionsF')) {
require JPATH_SITE . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'shopfunctionsf.php';
}
if (!class_exists('calculationHelper')) {
require JPATH_COMPONENT_SITE . DS . 'helpers' . DS . 'cart.php';
}
if (!class_exists('VirtueMartModelProduct')) {
JLoader::import('product', JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'models');
}
// load the base
$productModel = new VirtueMartModelProduct();
$product = $productModel->getProduct($item['id'], 100, true, true, true);
$currency = CurrencyDisplay::getInstance();
$price = '<strong>' . $currency->createPriceDiv($config['vm_show_price_type'], '', $product->prices, true) . '</strong>';
if ($config['vm_add_to_cart'] == 1 && JRequest::getCmd('option') != 'com_virtuemart') {
vmJsApi::jPrice();
vmJsApi::addJScript('facebox');
vmJsApi::css('facebox');
vmJsApi::writeJS();
}
$news_price = '<div>';
//
if ($config['vm_show_price_type'] != 'none') {
if ($config['vm_display_type'] == 'text_price') {
$news_price .= '<span>' . JText::_('MOD_NEWS_PRO_GK5_PRODUCT_PRICE') . ' ' . $price . '</span>';
} else {
$news_price .= '<span>' . $price . '</span>';
}
}
// 'Add to cart' button
if ($config['vm_add_to_cart'] == 1) {
if (isset($product->customfields) && count($product->customfields)) {
foreach ($product->customfields as $field) {
if (isset($field->is_cart_attribute) && $field->is_cart_attribute == 1 || isset($field->layout_pos) && $field->layout_pos == 'addtocart') {
$product->orderable = 0;
break;
}
}
}
$code = '<div class="addtocart-area">';
if ($product->orderable != 0) {
$code .= '<form method="post" class="product" action="index.php">';
} else {
$code .= '<form method="post" class="product-variant" action="' . static::itemLink($item, $config) . '">';
}
$code .= '<div class="addtocart-bar">';
$code .= '<span class="quantity-box" style="display: none"><input type="text" class="quantity-input" name="quantity[]" value="1" /></span>';
$addtoCartButton = '';
if ($product->addToCartButton) {
$addtoCartButton = $product->addToCartButton;
} else {
$addtoCartButton = shopFunctionsF::getAddToCartButton($product->orderable);
}
$code .= str_replace('addtocart-button-disabled"', 'addtocart-button" type="submit"', $addtoCartButton);
if ($product->orderable != 0) {
$code .= '</div>
<input type="hidden" class="pname" value="' . $product->product_name . '"/>
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="view" value="cart" />
<noscript><input type="hidden" name="task" value="add" /></noscript>
<input type="hidden" name="virtuemart_product_id[]" value="' . $product->virtuemart_product_id . '" />
<input type="hidden" name="virtuemart_category_id[]" value="' . $product->virtuemart_category_id . '" />
</form>';
} else {
$code .= '</div></form>';
}
$code .= '</div>';
$news_price .= $code;
}
// display discount
if ($config['vm_show_discount_amount'] == 1) {
$disc_amount = $currency->priceDisplay($product->prices['discountAmount'], $currency->getId());
$news_price .= '<small class="nspDiscount">' . JText::_('MOD_NEWS_PRO_GK5_PRODUCT_DISCOUNT_AMOUNT') . $disc_amount . '</small>';
}
//.........这里部分代码省略.........
示例3: display
/**
* Collect all data to show on the template
*
* @author RolandD, Max Milbers
*/
function display($tpl = null)
{
//TODO get plugins running
// $dispatcher = JDispatcher::getInstance();
// $limitstart = JRequest::getVar('limitstart', 0, '', 'int');
VmConfig::loadJLang('com_virtuemart', true);
$show_prices = VmConfig::get('show_prices', 1);
if ($show_prices == '1') {
if (!class_exists('calculationHelper')) {
require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'calculationh.php';
}
}
$this->assignRef('show_prices', $show_prices);
$document = JFactory::getDocument();
// add javascript for price and cart, need even for quantity buttons, so we need it almost anywhere
vmJsApi::jPrice();
$mainframe = JFactory::getApplication();
$pathway = $mainframe->getPathway();
$task = JRequest::getCmd('task');
if (!class_exists('VmImage')) {
require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'image.php';
}
// Load the product
//$product = $this->get('product'); //Why it is sensefull to use this construction? Imho it makes it just harder
$product_model = VmModel::getModel('product');
$this->assignRef('product_model', $product_model);
$virtuemart_product_idArray = JRequest::getVar('virtuemart_product_id', 0);
if (is_array($virtuemart_product_idArray) and count($virtuemart_product_idArray) > 0) {
$virtuemart_product_id = (int) $virtuemart_product_idArray[0];
} else {
$virtuemart_product_id = (int) $virtuemart_product_idArray;
}
$quantityArray = JRequest::getVar('quantity', array());
//is sanitized then
JArrayHelper::toInteger($quantityArray);
$quantity = 1;
if (!empty($quantityArray[0])) {
$quantity = $quantityArray[0];
}
$product = $product_model->getProduct($virtuemart_product_id, TRUE, TRUE, TRUE, $quantity);
if (!class_exists('shopFunctionsF')) {
require JPATH_VM_SITE . DS . 'helpers' . DS . 'shopfunctionsf.php';
}
$last_category_id = shopFunctionsF::getLastVisitedCategoryId();
if (empty($product->slug)) {
//Todo this should be redesigned to fit better for SEO
$mainframe->enqueueMessage(JText::_('COM_VIRTUEMART_PRODUCT_NOT_FOUND'));
$categoryLink = '';
if (!$last_category_id) {
$last_category_id = JRequest::getInt('virtuemart_category_id', false);
}
if ($last_category_id) {
$categoryLink = '&virtuemart_category_id=' . $last_category_id;
}
if (VmConfig::get('handle_404', 1)) {
$mainframe->redirect(JRoute::_('index.php?option=com_virtuemart&view=category' . $categoryLink . '&error=404', FALSE));
} else {
JError::raise(E_ERROR, '404', 'Not found');
}
return;
}
if (!empty($product->customfields)) {
foreach ($product->customfields as $k => $custom) {
if (!empty($custom->layout_pos)) {
$product->customfieldsSorted[$custom->layout_pos][] = $custom;
unset($product->customfields[$k]);
}
}
$product->customfieldsSorted['normal'] = $product->customfields;
unset($product->customfields);
}
$product->event = new stdClass();
$product->event->afterDisplayTitle = '';
$product->event->beforeDisplayContent = '';
$product->event->afterDisplayContent = '';
if (VmConfig::get('enable_content_plugin', 0)) {
shopFunctionsF::triggerContentPlugin($product, 'productdetails', 'product_desc');
}
$product_model->addImages($product);
$this->assignRef('product', $product);
if (isset($product->min_order_level) && (int) $product->min_order_level > 0) {
$min_order_level = $product->min_order_level;
} else {
$min_order_level = 1;
}
$this->assignRef('min_order_level', $min_order_level);
if (isset($product->step_order_level) && (int) $product->step_order_level > 0) {
$step_order_level = $product->step_order_level;
} else {
$step_order_level = 1;
}
$this->assignRef('step_order_level', $step_order_level);
// Load the neighbours
if (VmConfig::get('product_navigation', 1)) {
$product->neighbours = $product_model->getNeighborProducts($product);
//.........这里部分代码省略.........
示例4: _processDataAjax
public function _processDataAjax($datas, $params)
{
$_arr_datas = array();
parse_str($datas, $_arr_datas);
if (!empty($_arr_datas)) {
$list = array();
$_categories = isset($_arr_datas['categories']) ? $_arr_datas['categories'] : 0;
$_manufacturers = isset($_arr_datas['manufacturers']) ? $_arr_datas['manufacturers'] : 0;
$_customfields = isset($_arr_datas['custom_id']) ? $_arr_datas['custom_id'] : 0;
$_price_min = isset($_arr_datas['ft_price_min']) ? $_arr_datas['ft_price_min'] : '';
$_price_max = isset($_arr_datas['ft_price_max']) ? $_arr_datas['ft_price_max'] : '';
$_orderby = isset($_arr_datas['orderby']) ? $_arr_datas['orderby'] : 'ordering';
$limit_result = $params->get('limit_results', 5) <= 0 ? 5 : $params->get('limit_results', 5);
$_limit = isset($_arr_datas['limit']) && $_arr_datas['limit'] != '' ? (int) $_arr_datas['limit'] : $limit_result;
$_start = isset($_arr_datas['limitstart']) && $_arr_datas['limitstart'] != '' ? (int) $_arr_datas['limitstart'] : 0;
if ($_categories == 0 && $_manufacturers == 0 && $_customfields == 0 && $_price_min == '' && $_price_max == '') {
die(json_encode('noresults'));
}
$productExtModel = new VirtuemartModelProductFilter();
$productExtModel->filter_order = $_orderby;
JRequest::setVar('orderby', $_orderby);
$productExtModel->updateRequests();
$virtuemart_category_id = $_categories;
$productExtModel->virtuemart_manufacturer_id = $_manufacturers;
$productExtModel->searchcustoms = '';
$productExtModel->searchcustoms = $_customfields;
$productExtModel->_virtuemart_product_price = $_price_min == '' && $_price_max == '' ? false : array($_price_min, $_price_max);
$productExtModel->_limitStart = $_start;
$productExtModel->_limit = $_limit;
//$productExtModel->_noLimit = true;
$ids = $productExtModel->sortSearchListQuery(true, $virtuemart_category_id);
$result = new stdClass();
//$path_template = JPATH_VM_SITE . DS . 'views' . DS . 'category' . DS . 'tmpl' . DS . 'default.php';
$ratingModel = VmModel::getModel('ratings');
$showRating = $ratingModel->showRating();
$productExtModel->withRating = $showRating;
$show_prices = VmConfig::get('show_prices', 1);
$this->show_prices = $show_prices;
vmJsApi::jPrice();
$this->showRating = $showRating;
$this->products = $productExtModel->getProducts($ids);
$currency = CurrencyDisplay::getInstance();
$this->currency = $currency;
$productExtModel->addImages($this->products, 1);
$orderByList = $productExtModel->getOrderByList(0);
if (isset($orderByList['manufacturer'])) {
$orderByList['manufacturer'] = '';
}
$this->orderByList = $orderByList;
$this->perRow = VmConfig::get('products_per_row', 3);
$productExtModel->_total = $productExtModel->getTotal();
$pagination = $productExtModel->getPagination($this->perRow);
//$pagination->set('pages.current',1);
$this->vmPagination = $pagination;
$this->category = new stdClass();
$this->category->category_name = 'Results';
$this->category->category_description = '';
$this->category->limit_list_step = '0';
$this->category->limit_list_initial = '0';
foreach ($this->products as $item) {
$item->stock = $productExtModel->getStockIndicator($item);
}
$this->showproducts = 1;
$this->productsLayout = 'products';
ob_start();
require JModuleHelper::getLayoutPath($this->_module->module, 'default' . '_results');
$buffer = ob_get_contents();
$result->filter_product = preg_replace(array('/ {2,}/', '/<!--.*?-->|\\t|(?:\\r?\\n[ \\t]*)+/s'), array(' ', ''), $buffer);
ob_end_clean();
$list = $this->_productFiltering($_arr_datas);
ob_start();
require JModuleHelper::getLayoutPath($this->_module->module, 'default' . '_product_filter');
$buffer2 = ob_get_contents();
$result->items_markup = preg_replace(array('/ {2,}/', '/<!--.*?-->|\\t|(?:\\r?\\n[ \\t]*)+/s'), array(' ', ''), $buffer2);
ob_end_clean();
die(json_encode($result));
}
}
示例5: display
/**
* Collect all data to show on the template
*
* @author RolandD, Max Milbers
*/
function display($tpl = null)
{
//TODO get plugins running
// $dispatcher = JDispatcher::getInstance();
// $limitstart = JRequest::getVar('limitstart', 0, '', 'int');
$this->show_prices = VmConfig::get('show_prices', 1);
if ($this->show_prices == 1) {
JLoader::register('calculationHelper', JPATH_VM_ADMINISTRATOR . '/helpers/calculationh.php');
}
$document = JFactory::getDocument();
// add javascript for price and cart, need even for quantity buttons, so we need it almost anywhere
vmJsApi::jPrice();
$app = JFactory::getApplication();
$pathway = $app->getPathway();
$task = JRequest::getCmd('task');
JLoader::register('VmImage', JPATH_VM_ADMINISTRATOR . '/helpers/image.php');
// Load the product
//$product = $this->get('product'); //Why it is sensefull to use this construction? Imho it makes it just harder
$this->product_model = VmModel::getModel('product');
$virtuemart_product_idArray = JRequest::getVar('virtuemart_product_id', 0);
if (is_array($virtuemart_product_idArray) and count($virtuemart_product_idArray) > 0) {
$virtuemart_product_id = (int) $virtuemart_product_idArray[0];
} else {
$virtuemart_product_id = (int) $virtuemart_product_idArray;
}
$quantityArray = JRequest::getVar('quantity', array());
//is sanitized then
JArrayHelper::toInteger($quantityArray);
$quantity = 1;
if (!empty($quantityArray[0])) {
$quantity = $quantityArray[0];
}
$onlyPublished = true;
// set unpublished product when it's editable by its owner for preview
if ($canEdit = ShopFunctions::can('edit', 'product')) {
$onlyPublished = false;
}
$product = $this->product_model->getProduct($virtuemart_product_id, TRUE, TRUE, $onlyPublished, $quantity);
if ($product && $canEdit) {
JLoader::register('Permissions', JPATH_VM_ADMINISTRATOR . '/helpers/permissions.php');
$vendor = Permissions::getInstance()->isSuperVendor();
if ($vendor > 1 && $product->virtuemart_vendor_id !== $vendor) {
$product = null;
} elseif (!$product->published) {
$app->enqueueMessage(JText::_('COM_VIRTUEMART_ORDER_PRINT_PRODUCT_STATUS') . ' : ' . JText::_('COM_VIRTUEMART_UNPUBLISHED'), 'warning');
}
}
$last_category_id = shopFunctionsF::getLastVisitedCategoryId();
if (empty($product->slug)) {
//Todo this should be redesigned to fit better for SEO
$app->enqueueMessage(JText::_('COM_VIRTUEMART_PRODUCT_NOT_FOUND'));
$categoryLink = '';
if (!$last_category_id) {
$last_category_id = JRequest::getInt('virtuemart_category_id', false);
}
if ($last_category_id) {
$categoryLink = '&virtuemart_category_id=' . $last_category_id;
}
if (VmConfig::get('handle_404', 1)) {
$app->redirect(JRoute::_('index.php?option=com_virtuemart&view=category' . $categoryLink . '&error=404', FALSE));
} else {
JError::raise(E_ERROR, '404', 'Not found');
}
return;
}
if (!empty($product->customfields)) {
foreach ($product->customfields as $k => $custom) {
if (!empty($custom->layout_pos)) {
$product->customfieldsSorted[$custom->layout_pos][] = $custom;
unset($product->customfields[$k]);
}
}
$product->customfieldsSorted['normal'] = $product->customfields;
unset($product->customfields);
}
$product->event = new stdClass();
$product->event->afterDisplayTitle = '';
$product->event->beforeDisplayContent = '';
$product->event->afterDisplayContent = '';
if (VmConfig::get('enable_content_plugin', 0)) {
// add content plugin //
$dispatcher =& JDispatcher::getInstance();
JPluginHelper::importPlugin('content');
$product->text = $product->product_desc;
// jimport( 'joomla.html.parameter' );
// $params = new JParameter('');
$params = new JRegistry();
$product->event = new stdClass();
$results = $dispatcher->trigger('onContentPrepare', array('com_virtuemart.productdetails', &$product, &$params, 0));
// More events for 3rd party content plugins
// This do not disturb actual plugins, because we don't modify $product->text
$res = $dispatcher->trigger('onContentAfterTitle', array('com_virtuemart.productdetails', &$product, &$params, 0));
$product->event->afterDisplayTitle = trim(implode("\n", $res));
$res = $dispatcher->trigger('onContentBeforeDisplay', array('com_virtuemart.productdetails', &$product, &$params, 0));
$product->event->beforeDisplayContent = trim(implode("\n", $res));
//.........这里部分代码省略.........
示例6: defined
<?php
// no direct access
defined('_JEXEC') or die('Restricted access');
// add javascript for price and cart, need even for quantity buttons, so we need it almost anywhere
vmJsApi::jPrice();
$col = 1;
$pwidth = 'width' . floor(100 / $products_per_row);
if ($products_per_row > 1) {
$float = "floatleft";
} else {
$float = "center";
}
?>
<div class="vmgroup<?php
echo $params->get('moduleclass_sfx');
?>
">
<?php
if ($headerText) {
?>
<div class="vmheader"><?php
echo $headerText;
?>
</div>
<?php
}
if ($display_style == "div") {
?>
<div class="vmproduct<?php
echo $params->get('moduleclass_sfx');
示例7: get_store
function get_store($config, $id)
{
if ($this->mode != 'com_virtuemart') {
return array("price" => '', "cart" => '');
} else {
// if the VM is available
if (!class_exists('VmConfig')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'config.php';
}
VmConfig::loadConfig();
// Load the language file of com_virtuemart.
JFactory::getLanguage()->load('com_virtuemart');
// load necessary classes
if (!class_exists('calculationHelper')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'calculationh.php';
}
if (!class_exists('CurrencyDisplay')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'currencydisplay.php';
}
if (!class_exists('VirtueMartModelVendor')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'models' . DS . 'vendor.php';
}
if (!class_exists('VmImage')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'image.php';
}
if (!class_exists('shopFunctionsF')) {
require JPATH_SITE . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'shopfunctionsf.php';
}
if (!class_exists('calculationHelper')) {
require JPATH_COMPONENT_SITE . DS . 'helpers' . DS . 'cart.php';
}
if (!class_exists('VirtueMartModelProduct')) {
JLoader::import('product', JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'models');
}
// load the base
$productModel = new VirtueMartModelProduct();
$product = $productModel->getProduct($id, 100, true, true, true);
$currency = CurrencyDisplay::getInstance();
$price = '<strong>' . $currency->createPriceDiv($config['vm_show_price_type'], '', $product->prices, true) . '</strong>';
if ($config['vm_add_to_cart'] == 1) {
vmJsApi::jPrice();
vmJsApi::writeJS();
}
$news_price = '<div class="PricebasePriceWithTax">';
//
if ($config['vm_show_price_type'] != 'none') {
if ($config['vm_display_type'] == 'text_price') {
$news_price .= '<span class="PricebasePriceWithTax">' . JText::_('MOD_NEWS_PRO_GK5_PRODUCT_PRICE') . ' ' . $price . '</span>';
} else {
$news_price .= '<span class="PricebasePriceWithTax">' . $price . '</span>';
}
}
$news_price .= '</div>';
// display discount
if ($config['vm_show_discount_amount'] == 1) {
$disc_amount = $currency->priceDisplay($product->prices['discountAmount'], $currency->getId());
$news_price .= '<div class="PricetaxAmount">' . JText::_('MOD_NEWS_PRO_GK5_PRODUCT_DISCOUNT_AMOUNT') . $disc_amount . '</div>';
}
// display tax
if ($config['vm_show_tax'] == 1) {
$taxAmount = $currency->priceDisplay($product->prices['taxAmount'], $currency->getId());
$news_price .= '<div class="PricetaxAmount">' . JText::_('MOD_NEWS_PRO_GK5_PRODUCT_TAX_AMOUNT') . $taxAmount . '</div>';
}
$news_cart = '';
// 'Add to cart' button
if ($config['vm_add_to_cart'] == 1) {
$code = '<div class="addtocart-area">';
$code .= '<form method="post" class="product" action="index.php">';
$code .= '<div class="addtocart-bar">';
$code .= '<span class="quantity-box" style="display: none"><input type="text" class="quantity-input" name="quantity[]" value="1" /></span>';
$addtoCartButton = '';
if ($product->addToCartButton) {
$addtoCartButton = $product->addToCartButton;
} else {
$addtoCartButton = shopFunctionsF::getAddToCartButton($product->orderable);
}
$code .= $addtoCartButton;
$code .= '</div>
<input type="hidden" class="pname" value="' . $product->product_name . '"/>
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="view" value="cart" />
<input type="hidden" name="task" value="add" />
<input type="hidden" name="virtuemart_product_id[]" value="' . $product->virtuemart_product_id . '" />
<input type="hidden" name="virtuemart_category_id[]" value="' . $product->virtuemart_category_id . '" />
</form>';
$code .= '</div>';
$news_cart .= $code;
}
// results
return array("price" => $news_price, "cart" => $news_cart);
}
}
示例8: display
public function display($tpl = null) {
$vendorId = vRequest::getInt('vendorid', 1);
$vendorModel = VmModel::getModel('vendor');
$vendorIdUser = VmConfig::isSuperVendor();
$vendorModel->setId($vendorId);
$vendor = $vendorModel->getVendor();
if(!class_exists('shopFunctionsF'))require(VMPATH_SITE.DS.'helpers'.DS.'shopfunctionsf.php');
if (VmConfig::get ('enable_content_plugin', 0)) {
shopFunctionsF::triggerContentPlugin($vendor, 'vendor','vendor_store_desc');
shopFunctionsF::triggerContentPlugin($vendor, 'vendor','vendor_terms_of_service');
}
$app = JFactory::getApplication();
$menus = $app->getMenu();
$menu = $menus->getActive();
if(!empty($menu->id)){
ShopFunctionsF::setLastVisitedItemId($menu->id);
} else if($itemId = vRequest::getInt('Itemid',false)){
ShopFunctionsF::setLastVisitedItemId($itemId);
}
$this->assignRef('vendor',$vendor);
$document = JFactory::getDocument();
if(!VmConfig::get('shop_is_offline',0)){
vmJsApi::jPrice();
//if($vendorIdUser){
//$user = JFactory::getUser();
if( $vendorIdUser ){
$add_product_link = JURI::root() . 'index.php?option=com_virtuemart&tmpl=component&view=product&task=edit&virtuemart_product_id=0&manage=1' ;
$add_product_link = $this->linkIcon($add_product_link, 'COM_VIRTUEMART_PRODUCT_FORM_NEW_PRODUCT', 'edit', false, false);
} else {
$add_product_link = "";
}
$this->assignRef('add_product_link', $add_product_link);
//}
$categoryModel = VmModel::getModel('category');
$productModel = VmModel::getModel('product');
$ratingModel = VmModel::getModel('ratings');
$productModel->withRating = $this->showRating = $ratingModel->showRating();
$this->products = array();
$categoryId = vRequest::getInt('catid', 0);
$categoryChildren = $categoryModel->getChildCategoryList($vendorId, $categoryId);
$categoryModel->addImages($categoryChildren,1);
$this->assignRef('categories', $categoryChildren);
if(!class_exists('CurrencyDisplay'))require(VMPATH_ADMIN.DS.'helpers'.DS.'currencydisplay.php');
$currency = CurrencyDisplay::getInstance( );
$this->assignRef('currency', $currency);
$products_per_row = VmConfig::get('homepage_products_per_row',3);
$featured_products_rows = VmConfig::get('featured_products_rows',1);
$featured_products_count = $products_per_row * $featured_products_rows;
if (!empty($featured_products_count) and VmConfig::get('show_featured', 1)) {
$this->products['featured'] = $productModel->getProductListing('featured', $featured_products_count);
$productModel->addImages($this->products['featured'],1);
}
$latest_products_rows = VmConfig::get('latest_products_rows');
$latest_products_count = $products_per_row * $latest_products_rows;
if (!empty($latest_products_count) and VmConfig::get('show_latest', 1)) {
$this->products['latest']= $productModel->getProductListing('latest', $latest_products_count);
$productModel->addImages($this->products['latest'],1);
}
$topTen_products_rows = VmConfig::get('topTen_products_rows');
$topTen_products_count = $products_per_row * $topTen_products_rows;
if (!empty($topTen_products_count) and VmConfig::get('show_topTen', 1)) {
$this->products['topten']= $productModel->getProductListing('topten', $topTen_products_count);
$productModel->addImages($this->products['topten'],1);
}
$recent_products_rows = VmConfig::get('recent_products_rows');
$recent_products_count = $products_per_row * $recent_products_rows;
$recent_products = $productModel->getProductListing('recent');
if (!empty($recent_products_count) and VmConfig::get('show_recent', 1) and !empty($recent_products)) {
$this->products['recent']= $productModel->getProductListing('recent', $recent_products_count);
$productModel->addImages($this->products['recent'],1);
}
if ($this->products) {
$currency = CurrencyDisplay::getInstance( );
$this->assignRef('currency', $currency);
//.........这里部分代码省略.........
示例9: onAlbumPrepare
/**
* Plugin that returns the object list for DJ-Mediatools album
*
* Each object must contain following properties (mandatory): title, description, image
* Optional properties: link, target (_blank or _self), alt (alt attribute for image)
*
* @param object The album params
*/
public function onAlbumPrepare(&$source, &$params)
{
// Lets check the requirements
$check = $this->onCheckRequirements($source);
if (is_null($check) || is_string($check)) {
return null;
}
$app = JFactory::getApplication();
// Load the language file of com_virtuemart.
JFactory::getLanguage()->load('com_virtuemart');
/* Load VM fonction */
if (!class_exists('VmConfig')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'config.php';
}
VmConfig::loadConfig();
VmConfig::loadJLang('mod_virtuemart_product', true);
include_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'tables' . DS . 'categories.php';
if (!class_exists('calculationHelper')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'calculationh.php';
}
if (!class_exists('CurrencyDisplay')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'currencydisplay.php';
}
if (!class_exists('VirtueMartModelVendor')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'models' . DS . 'vendor.php';
}
if (!class_exists('VmImage')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'image.php';
}
if (!class_exists('shopFunctionsF')) {
require JPATH_SITE . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'shopfunctionsf.php';
}
if (!class_exists('calculationHelper')) {
require JPATH_COMPONENT_SITE . DS . 'helpers' . DS . 'cart.php';
}
if (!class_exists('VirtueMartModelProduct')) {
JLoader::import('product', JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'models');
}
$category_id = $params->get('plg_virtuemart_category_id', null);
$product_group = $params->get('plg_virtuemart_product_group', 'latest');
$max_items = $params->get('max_images');
$show_price = (bool) $params->get('plg_virtuemart_show_price', 1);
$show_addtocart = (bool) $params->get('plg_virtuemart_show_addtocart', 1);
$default_image = $params->get('plg_virtuemart_image');
$filter_category = $category_id ? TRUE : FALSE;
$productModel = VmModel::getModel('Product');
$products = $productModel->getProductListing($product_group, $max_items, $show_price, true, false, $filter_category, $category_id);
$productModel->addImages($products);
//$this->debug($productModel);
$currency = CurrencyDisplay::getInstance();
if ($show_addtocart) {
vmJsApi::jPrice();
vmJsApi::cssSite();
}
//$this->debug($products);
$slides = array();
foreach ($products as $product) {
$slide = (object) array();
//$this->debug($product->images);
if (isset($product->images[0])) {
$slide->image = $product->images[0]->file_url;
} else {
if ($default_image) {
$slide->image = $default_image;
} else {
continue;
}
}
$slide->title = $product->product_name;
$slide->description = $product->product_s_desc;
if (empty($slide->description)) {
$slide->description = $product->product_desc;
}
$slide->canonical = $slide->link = JRoute::_('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id);
$slide->id = $product->virtuemart_product_id . ':' . $product->slug;
if ($comments = $params->get('commnets', 0)) {
$host = str_replace(JURI::root(true), '', JURI::root());
$host = preg_replace('/\\/$/', '', $host);
switch ($comments) {
case 1:
// jcomments
$slide->comments = array('id' => $item->virtuemart_product_id, 'group' => 'com_virtuemart');
break;
case 2:
// disqus
$disqus_shortname = $params->get('disqus_shortname', '');
if (!empty($disqus_shortname)) {
$slide->comments = array();
$slide->comments['url'] = $host . $slide->link;
$slide->comments['identifier'] = $disqus_shortname . '-virtuemart-' . $item->virtuemart_product_id;
// ??
}
//.........这里部分代码省略.........
示例10: store_vm
function store_vm($config, $news_id, $news_cid, $news_price, $news_price_currency, $news_discount_amount, $news_discount_is_percent, $news_discount_start, $news_discount_end, $news_tax, $news_manufacturer)
{
//
if (!class_exists('VmConfig')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'config.php';
}
VmConfig::loadConfig();
// Load the language file of com_virtuemart.
JFactory::getLanguage()->load('com_virtuemart');
if (!class_exists('calculationHelper')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'calculationh.php';
}
if (!class_exists('CurrencyDisplay')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'currencydisplay.php';
}
if (!class_exists('VirtueMartModelVendor')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'models' . DS . 'vendor.php';
}
if (!class_exists('VmImage')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'image.php';
}
if (!class_exists('shopFunctionsF')) {
require JPATH_SITE . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'shopfunctionsf.php';
}
if (!class_exists('calculationHelper')) {
require JPATH_COMPONENT_SITE . DS . 'helpers' . DS . 'cart.php';
}
if (!class_exists('VirtueMartModelProduct')) {
JLoader::import('product', JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'models');
}
$mainframe = Jfactory::getApplication();
$virtuemart_currency_id = $mainframe->getUserStateFromRequest("virtuemart_currency_id", 'virtuemart_currency_id', JRequest::getInt('virtuemart_currency_id', 0));
$currency = CurrencyDisplay::getInstance();
$productModel = new VirtueMartModelProduct();
$product = $productModel->getProduct($news_id, 100, true, true, true);
if ($config['vm_add_to_cart'] == 1) {
vmJsApi::jQuery();
vmJsApi::jPrice();
vmJsApi::cssSite();
}
$news_price = '';
if ($config['vm_show_price_type'] != 'none' && $config['vm_show_price_type'] == 'base') {
if ($config['vm_show_price_with_tax'] == 1) {
if ($config['vm_display_type'] == 'text_price') {
$news_price .= $currency->createPriceDiv('basePriceWithTax', 'MOD_NEWS_PRO_GK4_PRODUCT_BASEPRICE_WITHTAX', $product->prices);
} else {
$news_price .= $currency->createPriceDiv('basePriceWithTax', '', $product->prices);
}
} else {
if ($config['vm_display_type'] == 'text_price') {
$news_price .= $currency->createPriceDiv('priceWithoutTax', 'MOD_NEWS_PRO_GK4_PRODUCT_BASEPRICE_WITHOUTTAX', $product->prices);
} else {
$news_price .= $currency->createPriceDiv('priceWithoutTax', '', $product->prices);
}
}
}
if ($config['vm_show_price_type'] != 'none' && $config['vm_show_price_type'] == 'sale') {
if ($config['vm_show_price_with_tax'] == 1) {
if ($config['vm_display_type'] == 'text_price') {
$news_price .= $currency->createPriceDiv('salesPrice', 'MOD_NEWS_PRO_GK4_PRODUCT_SALESPRICE', $product->prices);
} else {
$news_price .= $currency->createPriceDiv('salesPrice', '', $product->prices);
}
} else {
if ($config['vm_display_type'] == 'text_price') {
$news_price .= $currency->createPriceDiv('priceWithoutTax', 'MOD_NEWS_PRO_GK4_PRODUCT_SALESPRICE_WITHOUT_TAX', $product->prices);
} else {
$news_price .= $currency->createPriceDiv('priceWithoutTax', '', $product->prices);
}
}
}
if ($config['vm_add_to_cart'] == 1) {
$code = '';
$code .= '<form method="post" class="product" action="index.php">';
$code .= '<div class="addtocart-bar">';
$code .= '<span class="quantity-box" style="display: none">
<input type="text" class="quantity-input" name="quantity[]" value="1" />
</span>';
$button_lbl = JText::_('COM_VIRTUEMART_CART_ADD_TO');
$button_cls = '';
$stockhandle = VmConfig::get('stockhandle', 'none');
$code .= '<span class="addtocart-button">
<input type="submit" name="addtocart" class="addtocart-button" value="' . $button_lbl . '" title="' . $button_lbl . '" /></span>';
$code .= '<div class="clear"></div></div>
<input type="hidden" class="pname" value="' . $product->product_name . '"/>
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="view" value="cart" />
<noscript><input type="hidden" name="task" value="add" /></noscript>
<input type="hidden" name="virtuemart_product_id[]" value="' . $product->virtuemart_product_id . '" />
<input type="hidden" name="virtuemart_category_id[]" value="' . $product->virtuemart_category_id . '" />
</form>';
$news_price .= $code;
}
if ($config['vm_show_discount_amount'] == 1) {
$disc_amount = $currency->createPriceDiv('discountAmount', 'MOD_NEWS_PRO_GK4_PRODUCT_DISCOUNT_AMOUNT', $product->prices);
$disc_amount = strip_tags($disc_amount, '<div>');
$news_price .= $disc_amount;
}
if ($config['vm_show_tax'] == 1) {
$taxAmount = $currency->createPriceDiv('taxAmount', 'MOD_NEWS_PRO_GK4_PRODUCT_TAX_AMOUNT', $product->prices);
//.........这里部分代码省略.........
示例11: display
public function display($tpl = null)
{
$show_prices = VmConfig::get('show_prices', 1);
if ($show_prices == '1') {
if (!class_exists('calculationHelper')) {
require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'calculationh.php';
}
}
$this->assignRef('show_prices', $show_prices);
// add javascript for price and cart, need even for quantity buttons, so we need it almost anywhere
vmJsApi::jPrice();
$document = JFactory::getDocument();
$app = JFactory::getApplication();
$pathway = $app->getPathway();
if (!class_exists('VmImage')) {
require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'image.php';
}
$categoryModel = VmModel::getModel('category');
$productModel = VmModel::getModel('product');
// set search and keyword
if ($keyword = vmRequest::uword('keyword', false, ' ,-,+,.,_')) {
$pathway->addItem($keyword);
//$title .=' ('.$keyword.')';
}
//$search = VmRequest::uword('keyword', null);
$this->searchcustom = '';
$this->searchcustomvalues = '';
if (!empty($keyword)) {
$this->searchcustom = $this->getSearchCustom();
$search = $keyword;
} else {
$keyword = '';
$search = NULL;
}
$this->assignRef('search', $search);
$this->assignRef('keyword', $keyword);
$categoryId = JRequest::getInt('virtuemart_category_id', false);
$virtuemart_manufacturer_id = JRequest::getInt('virtuemart_manufacturer_id', false);
if ($categoryId === false and $virtuemart_manufacturer_id === false) {
$categoryId = ShopFunctionsF::getLastVisitedCategoryId();
$catType = 'category';
$this->setCanonicalLink($tpl, $document, $categoryId, $catType);
} else {
if ($categoryId === false and $virtuemart_manufacturer_id) {
$catType = 'manufacturer';
$this->setCanonicalLink($tpl, $document, $virtuemart_manufacturer_id, $catType);
} else {
$catType = 'category';
$this->setCanonicalLink($tpl, $document, $categoryId, $catType);
}
}
if ($categoryId !== -1) {
$vendorId = 1;
$category = $categoryModel->getCategory($categoryId);
}
if (!empty($category)) {
if (empty($category->category_layout) or $category->category_layout != 'category') {
// Load the products in the given category
$ids = $productModel->sortSearchListQuery(TRUE, $categoryId);
$perRow = empty($category->products_per_row) ? VmConfig::get('products_per_row', 3) : $category->products_per_row;
$this->assignRef('perRow', $perRow);
$pagination = $productModel->getPagination($perRow);
$this->assignRef('vmPagination', $pagination);
$products = $productModel->getProducts($ids);
//$products = $productModel->getProductsInCategory($categoryId);
$productModel->addImages($products, 1);
$this->assignRef('products', $products);
if ($products) {
$currency = CurrencyDisplay::getInstance();
$this->assignRef('currency', $currency);
foreach ($products as $product) {
$product->stock = $productModel->getStockIndicator($product);
}
}
$ratingModel = VmModel::getModel('ratings');
$showRating = $ratingModel->showRating();
$this->assignRef('showRating', $showRating);
$orderByList = $productModel->getOrderByList($categoryId);
$this->assignRef('orderByList', $orderByList);
// Add feed links
if ($products && VmConfig::get('feed_cat_published', 0) == 1) {
$link = '&format=feed&limitstart=';
$attribs = array('type' => 'application/rss+xml', 'title' => 'RSS 2.0');
$document->addHeadLink(JRoute::_($link . '&type=rss', FALSE), 'alternate', 'rel', $attribs);
$attribs = array('type' => 'application/atom+xml', 'title' => 'Atom 1.0');
$document->addHeadLink(JRoute::_($link . '&type=atom', FALSE), 'alternate', 'rel', $attribs);
}
if (!class_exists('Permissions')) {
require JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'permissions.php';
}
$showBasePrice = Permissions::getInstance()->check('admin');
//todo add config settings
$this->assignRef('showBasePrice', $showBasePrice);
}
//No redirect here, for category id = 0 means show ALL categories! note by Max Milbers
if (!empty($categoryId) and $categoryId !== -1 and (empty($category->slug) or !$category->published)) {
if (empty($category->slug)) {
vmInfo(JText::_('COM_VIRTUEMART_CAT_NOT_FOUND'));
} else {
if ($category->virtuemart_id !== 0 and !$category->published) {
//.........这里部分代码省略.........
示例12: get_store
function get_store($config, $id)
{
// if the VM is available
if (!class_exists('VmConfig')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'config.php';
}
VmConfig::loadConfig();
// Load the language file of com_virtuemart.
JFactory::getLanguage()->load('com_virtuemart');
// load necessary classes
if (!class_exists('calculationHelper')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'calculationh.php';
}
if (!class_exists('CurrencyDisplay')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'currencydisplay.php';
}
if (!class_exists('VirtueMartModelVendor')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'models' . DS . 'vendor.php';
}
if (!class_exists('VmImage')) {
require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'image.php';
}
if (!class_exists('shopFunctionsF')) {
require JPATH_SITE . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'shopfunctionsf.php';
}
if (!class_exists('calculationHelper')) {
require JPATH_COMPONENT_SITE . DS . 'helpers' . DS . 'cart.php';
}
if (!class_exists('VirtueMartModelProduct')) {
JLoader::import('product', JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'models');
}
// load the base
$mainframe = JFactory::getApplication();
$virtuemart_currency_id = $mainframe->getUserStateFromRequest("virtuemart_currency_id", 'virtuemart_currency_id', JRequest::getInt('virtuemart_currency_id', 0));
$currency = CurrencyDisplay::getInstance();
$productModel = new VirtueMartModelProduct();
$product = $productModel->getProduct($id, 100, true, true, true);
//if($config['vm_add_to_cart'] == 1) {
vmJsApi::jQuery();
vmJsApi::jPrice();
vmJsApi::cssSite();
//}
$news_price = '';
$news_price .= $currency->createPriceDiv('basePriceWithTax', '', $product->prices);
// calculate tax
$taxAmount = $currency->createPriceDiv('taxAmount', 'MOD_NEWS_PRO_GK5_PRODUCT_TAX_AMOUNT', $product->prices);
$taxAmount = strip_tags($taxAmount, '<div>');
$news_price .= $taxAmount;
// 'Add to cart' button
$news_cart = '';
//if($config['vm_add_to_cart'] == 1) {
$code = '<form method="post" class="product" action="index.php">';
$code .= '<div class="addtocart-bar">';
$code .= '<span class="quantity-box" style="display: none"><input type="text" class="quantity-input" name="quantity[]" value="1" /></span>';
$button_lbl = JText::_('MOD_NEWS_PRO_GK5_COM_VIRTUEMART_CART_ADD_TO');
$button_cls = '';
$stockhandle = VmConfig::get('stockhandle', 'none');
$code .= '<span class="addtocart-button"><input type="submit" name="addtocart" class="addtocart-button" value="' . $button_lbl . '" title="' . $button_lbl . '" /></span>';
$code .= '</div>
<input type="hidden" class="pname" value="' . $product->product_name . '"/>
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="view" value="cart" />
<noscript><input type="hidden" name="task" value="add" /></noscript>
<input type="hidden" name="virtuemart_product_id[]" value="' . $product->virtuemart_product_id . '" />
<input type="hidden" name="virtuemart_category_id[]" value="' . $product->virtuemart_category_id . '" />
</form>';
$news_cart .= $code;
//}
// restults
return array("price" => $news_price, "cart" => $news_cart);
}
示例13: getAddToCartButton
public static function getAddToCartButton($orderable)
{
if ($orderable) {
vmJsApi::jPrice();
$html = '<input type="submit" name="addtocart" class="addtocart-button" value="' . JText::_('COM_VIRTUEMART_CART_ADD_TO') . '" title="' . JText::_('COM_VIRTUEMART_CART_ADD_TO') . '" />';
} else {
$html = '<input name="addtocart" class="addtocart-button-disabled" value="' . JText::_('COM_VIRTUEMART_ADDTOCART_CHOOSE_VARIANT') . '" title="' . JText::_('COM_VIRTUEMART_ADDTOCART_CHOOSE_VARIANT') . '" />';
}
return $html;
}
示例14: addtocart
public static function addtocart($product)
{
if (!class_exists('VmConfig')) {
require JPATH_ADMINISTRATOR . '/components/com_virtuemart/helpers/config.php';
}
VmConfig::loadConfig();
vmJsApi::jPrice();
if (!VmConfig::get('use_as_catalog', 0)) {
$add_to_cart = '<form method="post" class="product" action="index.php">
<span class="addtocart-button">
<input type="submit" name="addtocart" class="bt-addtocart addtocart-button" value="' . JText::_('Add cart') . '" title="' . sprintf(JText::_('ADD_PRODUCT_TO_CART'), $product->name) . '" />
</span>
<input type="hidden" class="pname" value="' . $product->name . '"/>
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="view" value="cart" />
<noscript><input type="hidden" name="task" value="add" /></noscript>
<input type="hidden" class="quantity-input" name="quantity[]" value="1" />
<input type="hidden" name="virtuemart_product_id[]" value="' . $product->id . '" />
<input type="hidden" name="virtuemart_category_id[]" value="' . $product->category_id . '" />
</form>';
return $add_to_cart;
}
return false;
}
示例15: display
/**
* Collect all data to show on the template
*
* @author RolandD, Max Milbers
*/
function display($tpl = null) {
$show_prices = VmConfig::get('show_prices',1);
if($show_prices == '1'){
if(!class_exists('calculationHelper')) require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'calculationh.php');
}
$this->assignRef('show_prices', $show_prices);
$document = JFactory::getDocument();
/* add javascript for price and cart */
vmJsApi::jPrice();
$mainframe = JFactory::getApplication();
$pathway = $mainframe->getPathway();
$task = JRequest::getCmd('task');
/* Set the helper path */
$this->addHelperPath(JPATH_VM_ADMINISTRATOR.DS.'helpers');
//Load helpers
$this->loadHelper('image');
$this->loadHelper('addtocart');
// Load the product
$product_model = VmModel::getModel('product');
$virtuemart_product_idArray = JRequest::getInt('virtuemart_product_id',0);
if(is_array($virtuemart_product_idArray)){
$virtuemart_product_id=(int)$virtuemart_product_idArray[0];
} else {
$virtuemart_product_id=(int)$virtuemart_product_idArray;
}
if(empty($virtuemart_product_id)){
self::showLastCategory($tpl);
return;
}
if(!class_exists('VirtueMartModelVendor')) require(JPATH_VM_ADMINISTRATOR.DS.'models'.DS.'vendor.php');
$product = $product_model->getProduct($virtuemart_product_id);
/* Set Canonic link */
$format = JRequest::getWord('format', 'html');
if ($format == 'html') {
$document->addHeadLink( $product->link , 'canonical', 'rel', '' );
}
/* Set the titles */
$document->setTitle(JText::sprintf('COM_VIRTUEMART_PRODUCT_DETAILS_TITLE',$product->product_name.' - '.JText::_('COM_VIRTUEMART_PRODUCT_RECOMMEND')));
$uri = JURI::getInstance();
$this->assignRef('product', $product);
if(empty($product)){
self::showLastCategory($tpl);
return;
}
$product_model->addImages($product,1);
/* Load the category */
$category_model = VmModel::getModel('category');
/* Get the category ID */
$virtuemart_category_id = JRequest::getInt('virtuemart_category_id');
if ($virtuemart_category_id == 0 && !empty($product)) {
if (array_key_exists('0', $product->categories)) $virtuemart_category_id = $product->categories[0];
}
shopFunctionsF::setLastVisitedCategoryId($virtuemart_category_id);
if($category_model){
$category = $category_model->getCategory($virtuemart_category_id);
$this->assignRef('category', $category);
$pathway->addItem($category->category_name,JRoute::_('index.php?option=com_virtuemart&view=category&virtuemart_category_id='.$virtuemart_category_id));
}
//$pathway->addItem(JText::_('COM_VIRTUEMART_PRODUCT_DETAILS'), $uri->toString(array('path', 'query', 'fragment')));
$pathway->addItem($product->product_name,JRoute::_('index.php?option=com_virtuemart&view=productdetails&virtuemart_category_id='.$virtuemart_category_id.'&virtuemart_product_id='.$product->virtuemart_product_id));
// for askquestion
$pathway->addItem( JText::_('COM_VIRTUEMART_PRODUCT_ASK_QUESTION'));
/* Check for editing access */
/** @todo build edit page */
/* Load the user details */
$this->assignRef('user', JFactory::getUser());
if ($product->metadesc) {
$document->setDescription( $product->metadesc );
}
if ($product->metakey) {
$document->setMetaData('keywords', $product->metakey);
}
//.........这里部分代码省略.........