Пример #1
0
		if(size > 0){
			console.log(size);
			jQuery('#product-filter-group-clear-<?php 
        echo F0FInflector::underscore($filtergroup['group_name']);
        ?>
').show();
			jQuery('#j2store-pf-filter-<?php 
        echo F0FInflector::underscore($filtergroup['group_name']);
        ?>
').show();
			jQuery('#pf-filter-icon-plus-<?php 
        echo F0FInflector::underscore($filtergroup['group_name']);
        ?>
').hide();
			jQuery('#pf-filter-icon-minus-<?php 
        echo F0FInflector::underscore($filtergroup['group_name']);
        ?>
').show();
		}
	<?php 
    }
    ?>
	<?php 
}
?>
});
</script>
<?php 
if ($this->params->get('list_show_filter_price', 0) && isset($this->filters['pricefilters']) && count($this->filters['pricefilters'])) {
    ?>
<script type="text/javascript">
Пример #2
0
 public function getHtml()
 {
     $html = '';
     $state = $this->getState();
     $value = isset($state->value) ? $state->value : '';
     $attribs = isset($state->attribs) ? $state->attribs : array();
     $placeholder = isset($state->placeholder) ? $state->placeholder : array();
     if (isset($state->hasOne)) {
         $modelName = $state->hasOne;
         $model = F0FModel::getTmpInstance($modelName, 'J2StoreModel');
         //check relations
         if (isset($state->primaryKey) && isset($state->displayName)) {
             $primary_key = $state->primaryKey;
             $displayName = $state->displayName;
         } else {
             $primary_key = $model->getTable()->getKeyName();
             $knownFields = $model->getTable()->getKnownFields();
             $displayName = $knownFields[1];
         }
         if (isset($state->ordering) && !empty($state->ordering)) {
             $model->setState('filter_order', $state->ordering);
         }
         $items = $model->enabled(1)->getList();
         if (count($items)) {
             foreach ($items as $item) {
                 if (is_array($displayName)) {
                     $text = '';
                     foreach ($displayName as $n) {
                         if (isset($item->{$n})) {
                             $text .= JText::_($item->{$n}) . ' ';
                         }
                     }
                 } else {
                     $text = JText::_($item->{$displayName});
                 }
                 $this->options[] = JHtml::_('select.option', $item->{$primary_key}, $text);
             }
         }
     }
     $idTag = isset($state->idTag) ? $state->idTag : 'j2store_' . F0FInflector::underscore($state->name);
     return JHtml::_('select.' . $state->type, $this->options, $state->name, $attribs, 'value', 'text', $value, $idTag);
 }
Пример #3
0
 /**
  * Create objects for the options
  *
  * @return  array  The array of option objects
  */
 protected function getOptions()
 {
     // Field options: title translate and show how much related items
     $countAndShowRelated = (string) $this->element['countAndShowRelated'] == 'true';
     $translateTitle = (string) $this->element['translateTitle'] == 'true';
     $table = $this->form->getModel()->getTable();
     // Get relation definitions from fof.xml
     $key = $table->getConfigProviderKey() . '.relations';
     $relations = $table->getConfigProvider()->get($key, array());
     // Get the relation type:
     $relationType = '';
     foreach ($relations as $relation) {
         if ($relation['itemName'] == $this->name) {
             $relationType = $relation['type'];
             break;
         }
     }
     // Get full relation definitions from F0FTableRelation object:
     $relation = $table->getRelations()->getRelation($this->name, $relationType);
     $dbOptions = array();
     // First implementation: multiple relations. Not using others yet
     if ($relation['type'] == 'multiple') {
         // Guessing the related table name from the given tableclassname followed the naming-conventions:
         list($option, $tableWord, $optItemSingular) = explode('_', F0FInflector::underscore($relation['tableClass']));
         $optionsTableName = '#__' . $option . '_' . F0FInflector::pluralize($optItemSingular);
         // Get the options table object
         $optionsTableObject = F0FTable::getAnInstance($relation['tableClass'], null);
         // Get the Items
         $db = JFactory::getDbo();
         $q = $db->getQuery(true)->select('o.*')->from($db->qn($optionsTableName) . ' as o');
         // Should we count and show related items?
         if ($countAndShowRelated) {
             $q->select('count(' . $db->qn('p.' . $relation['ourPivotKey']) . ') as total');
             $q->leftJoin($db->qn($relation['pivotTable']) . ' as p on ' . $db->qn('o.' . $relation['remoteKey']) . ' = ' . $db->qn('p.' . $relation['theirPivotKey']));
             $q->group($db->qn('o.' . $relation['remoteKey']));
         }
         // todo Language-filtering?
         $dbOptions = $db->setQuery($q)->loadObjectList($relation['remoteKey']);
     }
     $options = array();
     // Get the field $options on top
     foreach ($this->element->children() as $option) {
         // Only add <option /> elements.
         if ($option->getName() != 'option') {
             continue;
         }
         // Create a new option object based on the <option /> element.
         $options[] = JHtml::_('select.option', (string) $option['value'], JText::alt(trim((string) $option), preg_replace('/[^a-zA-Z0-9_\\-]/', '_', $this->fieldname)), 'value', 'text', (string) $option['disabled'] == 'true');
     }
     // Loop through the data and prime the $options array
     // Get title column alias:
     $titleField = $optionsTableObject->getColumnAlias('title');
     $keyField = $relation['remoteKey'];
     $enabledField = $optionsTableObject->getColumnAlias('enabled');
     foreach ($dbOptions as $dbOption) {
         $key = $dbOption->{$keyField};
         $value = $dbOption->{$titleField};
         $disabled = !$dbOption->{$enabledField} ? true : false;
         if ($translateTitle) {
             $value = JText::_($value);
         }
         if ($countAndShowRelated) {
             $value = $value . ' (' . $dbOption->total . ')';
         }
         $options[] = JHtml::_('select.option', $key, $value, 'value', 'text', $disabled);
     }
     return $options;
 }
Пример #4
0
 /**
  * Get formatted totals for an order
  * Since 3.2
  * @return array Totals as an associative array
  */
 public function get_formatted_order_totals()
 {
     $total_rows = array();
     $currency = J2Store::currency();
     $params = J2Store::config();
     $items = $this->getItems();
     $taxes = $this->getOrderTaxrates();
     $shipping = $this->getOrderShippingRate();
     //subtotal
     $total_rows['subtotal'] = array('label' => JText::_('J2STORE_CART_SUBTOTAL'), 'value' => $currency->format($this->get_formatted_subtotal($params->get('checkout_price_display_options', 1), $items), $this->currency_code, $this->currency_value));
     //shipping
     if (!empty($shipping->ordershipping_name)) {
         $total_rows['shipping'] = array('label' => JText::_(stripslashes($shipping->ordershipping_name)), 'value' => $currency->format($this->order_shipping, $this->currency_code, $this->currency_value));
     }
     //shipping tax
     if ($this->order_shipping_tax > 0) {
         $total_rows['shipping_tax'] = array('label' => JText::_('J2STORE_ORDER_SHIPPING_TAX'), 'value' => $currency->format($this->order_shipping_tax, $this->currency_code, $this->currency_value));
     }
     //fees
     foreach ($this->get_fees() as $fee) {
         $total_rows['fee_' . F0FInflector::underscore($fee->name)] = array('label' => JText::_($fee->name), 'value' => $currency->format($this->get_formatted_fees($fee, $params->get('checkout_price_display_options', 1)), $this->currency_code, $this->currency_value));
     }
     //surcharge @depreicated.
     if ($this->order_surcharge > 0) {
         $total_rows['surcharge'] = array('label' => JText::_('J2STORE_CART_SURCHARGE'), 'value' => $currency->format($this->order_surcharge, $this->currency_code, $this->currency_value));
     }
     //discount
     foreach ($this->getOrderDiscounts() as $discount) {
         if ($discount->discount_amount > 0) {
             $link = '';
             if ($discount->discount_type == 'coupon') {
                 $label = JText::sprintf('J2STORE_COUPON_TITLE', $discount->discount_title);
                 $link = '<a class="j2store-remove remove-icon" href="javascript:void(0)" onClick="jQuery(\'#j2store-cart-form #j2store-cart-task\').val(\'removeCoupon\'); jQuery(\'#j2store-cart-form\').submit();" >X</a>';
             } elseif ($discount->discount_type == 'voucher') {
                 $label = JText::sprintf('J2STORE_VOUCHER_TITLE', $discount->discount_title);
                 $link = '<a class="j2store-remove remove-icon" href="javascript:void(0)" onClick="jQuery(\'#j2store-cart-form #j2store-cart-task\').val(\'removeVoucher\'); jQuery(\'#j2store-cart-form\').submit();" >X</a>';
             } else {
                 $label = JText::sprintf('J2STORE_DISCOUNT_TITLE', $discount->discount_title);
             }
             $label .= J2Store::plugin()->eventWithHtml('AfterDisplayDiscountTitle', array($this, $discount));
             $value = $currency->format($this->get_formatted_discount($discount, $params->get('checkout_price_display_options', 1)), $this->currency_code, $this->currency_value);
             $value .= J2Store::plugin()->eventWithHtml('AfterDisplayDiscountAmount', array($this, $discount));
             $total_rows[$discount->discount_code . F0FInflector::underscore($discount->discount_title)] = array('label' => $label, 'link' => $link, 'value' => $value);
         }
     }
     //taxes
     if (isset($taxes) && count($taxes)) {
         $label = '';
         foreach ($taxes as $tax) {
             $label = '';
             if ($params->get('checkout_price_display_options', 1)) {
                 $label .= JText::sprintf('J2STORE_CART_TAX_INCLUDED_TITLE', $tax->ordertax_title, floatval($tax->ordertax_percent) . '%');
             } else {
                 $label .= JText::sprintf('J2STORE_CART_TAX_EXCLUDED_TITLE', $tax->ordertax_title, floatval($tax->ordertax_percent) . '%');
             }
             $value = $currency->format($tax->ordertax_amount, $this->currency_code, $this->currency_value);
             $total_rows['tax_' . F0FInflector::underscore($tax->ordertax_title)] = array('label' => $label, 'value' => $value);
         }
     }
     //refund
     if ($this->order_refund) {
         $total_rows['refund'] = array('label' => JText::_('J2STORE_CART_REFUND'), 'value' => $currency->format($this->order_refund, $this->currency_code, $this->currency_value));
     }
     $total_rows['grandtotal'] = array('label' => JText::_('J2STORE_CART_GRANDTOTAL'), 'value' => $currency->format($this->get_formatted_grandtotal(), $this->currency_code, $this->currency_value));
     //allow plugins to modify
     J2Store::plugin()->event('GetFormattedOrderTotals', array($this, $total_rows));
     return $total_rows;
 }