0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 1050 Просмотров
*

aldabergenovb

  • Новичок
  • 3
  • 0 / 0
Warning: Invalid argument supplied for foreach() in /home/dentkz/public_html/components/com_joomlakassa/views/cart/tmpl/default_items.php on line 62
Система JoomlaKassa
Ошибка в Корзине.
Код
<?php
/**
 * @version $Id: views/cart/tmpl/default_items.php
 * @package Joomla.Site
 * @subpackage com_joomlakassa
 * @copyright Copyright (C) 2007 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license Commercial Software; see LICENSE.txt
 * @author      GeneticsPro Eugene Gal'chuk - http://www.geneticspro.net/, admin@geneticspro.net
 */

// no direct access
defined('_JEXEC') or die;

// Если продуктов нет в корзине
if (!$this->cart) {
echo '<h3>'. JText::_('COM_JOOMLAKASSA_CART_NO_PRODUCTS').'</h3>';
return false;
}

JHtml::addIncludePath(JPATH_COMPONENT.'/helpers');

$app    = JFactory::getApplication();
$params = $this->params;
$total  = 0; // Общая сумма платежа

// добавление javascript и CSS к заголовку документа
JHtml::_('stylesheet', 'components/com_joomlakassa/assets/default.css');
if ($params->get('include_bootstrap', 1) && $params->get('cart_layout', 0)) {
JHtml::_('bootstrap.framework');
JHtml::_('bootstrap.loadcss');
JHtml::_('stylesheet', 'components/com_joomlakassa/assets/bootstrap/css/bootstrap.jk.css');
}
else {
JHtml::_('gswork.jquery');
}

// стиль текста стоимости (Bootstrap)
$classCost = ($params->get('textCostProd', 'text-info'))? $params->get('textCostProd', 'text-info') : 'price';

?>
<div class="jk-cart-items" id="jk">
  <!--ajaxBusy-->
  <span id="jk_ajaxBusy">
    <img src="components/com_joomlakassa/assets/images/loading2.gif">
  </span>
  <table class="table">
    <?php if ($params->get('showCartTbHead', 1)) : ?>
    <thead>
      <tr>
        <th>#</th>
        <th colspan="2"><?php echo JText::_('COM_JOOMLAKASSA_GRID_TITLE')?></th>
        <?php if ($params->get('calculate', 1)) : ?>
        <th style="text-align:center"><?php echo JText::_('COM_JOOMLAKASSA_CART_NUMBER')?></th>
        <?php endif; ?>
        <th style="text-align:center"><?php echo JText::_('COM_JOOMLAKASSA_GRID_COST')?></th>
      </tr>
    </thead>
    <?php endif; ?>
    <tbody id="jkCartProducts">
      <?php
      foreach ($this->cart as $i => $cart) :
      foreach ($this->product as $product) :
      if ($product->id == $cart['id']) :
          // Ссылка на продукт
          $productSlug = $product->alias ? ($product->id.':'.$product->alias) : $product->id;
          $linkProduct  = JRoute::_(JoomlakassaHelperRoute::getProductRoute($productSlug, $product->catid));
          // Сумма платежа
          if ($cart['cost']) {
              $payment_amount = $cart['cost'];
          } else {
              if ($product->discount && $product->amount_discount) $payment_amount = $product->amount_discount; // стоимость со скидкой
              else $payment_amount = $product->payment_amount;  // стоимость
          }
          // Общая сумма платежа
          $total += $payment_amount * $cart['count'];
      ?>
      <tr id="jkItemProd_<?php echo $i ?>">
        <!-- Удалить продукт -->
        <td class="jk-td_del_button">
          <a title="<?php echo JText::_('COM_JOOMLAKASSA_CART_DELETE_TITLE')?>"
              href="#" class="jk-del_button text-error lead" id="jkDel-<?php echo $i ?>">&times;</a>
        </td>
        <!-- Изображение продукта -->
        <td class="jk-prod_image">
          <?php // ИЗОБРАЖЕНИЕ
          if ($product->image && $params->get('show_cart_image', 1)) :
  if ($params->get('imgLinkCartName', 1)) : ?>
          <a href="<?php echo $linkProduct ?>" target="_blank">
            <?php echo JHtml::_('gswork.imgsize', $product->image, $params->get('cart_image_height', 90), $product->name)?>
          </a>
          <?php else :
          echo JHtml::_('gswork.imgsize', $product->image, $params->get('cart_image_height', 90), $product->name);
          endif;
  endif; ?>
        </td>
        <!-- Информация о продукте -->
        <td class="title">
          <?php // ИМЯ ПРОДУКТА ?>
          <<?php echo $this->params->get('titlesProdCart', 'h4')?>>
            <?php
            // имя как ссылка
            if ($params->get('prodLinkCartName', 1)) : ?>
                <a href="<?php echo $linkProduct ?>" target="_blank">
  <?php echo $product->name ?>
                </a>
            <?php else :
                echo $product->name;
            endif;
            // если есть варианты продукта
            if ($cart['text']) : ?>
            <br /><small><?php echo $cart['text'] ?></small>
            <?php endif; ?>
          </<?php echo $this->params->get('titlesProdCart', 'h4')?>>
          <div class="baggage-price jk-unit">
            <?php // Стоимость и скидка ?>
            <span class="<?php echo $classCost ?>">
              <?php echo JHtml::_('gsWork.costDisplay', $payment_amount, false, $this->currency->cours, $this->currency->symbol)?>
            </span>
          </div>
          <div class="baggage-payment_desc jk-unit">
            <?php // Описание платежа
if ($params->get('show_prod_cart_desc', 1)) echo $product->payment_desc; ?>
          </div>
        </td>
        <?php if ($params->get('calculate', 1)) :
    $jkNumButton = ($params->get('increase'))? ' btn-'.$params->get('increase') : ''; ?>
        <!-- Количество -->
        <td class="number" style="text-align:center">
          <input id="jkNumInput_<?php echo $i ?>" class="input-mini" type="text"
          style="text-align:center; width:25px;" value="<?php echo $cart['count'] ?>" /><br />
          <input id="hiddenLimit_<?php echo $i ?>" type="hidden" value="<?php echo $product->limit ?>" />
          <button class="jk-num btn btn-small<?php echo $jkNumButton ?>"
          id="jkNumButton-<?php echo $i ?>" title="<?php echo JText::_('COM_JOOMLAKASSA_CART_RECALCULATE')?>">
            <?php echo JText::_('COM_JOOMLAKASSA_CART_PLUS_MINUS')?>
          </button>
        </td>
        <?php endif; ?>
        <!-- Стоимость -->
        <td class="cost" style="text-align:center">
          <span class="jk-cost lead <?php echo $classCost ?>">
            <span id="jkAmount_<?php echo $i ?>"><?php echo JHtml::_('gsWork.costDisplay', $payment_amount, $cart['count'], $this->currency->cours)?></span><?php echo $this->currency->symbol ?>
            <input id="hiddenAmount_<?php echo $i ?>" type="hidden" value="<?php echo $payment_amount / $this->currency->cours ?>" />
          </span>
        </td>
      </tr>
      <?php
      endif;
      endforeach;
      endforeach;
      ?>
      <tr>
        <td colspan="3">
          <?php
          // Оформить заказ
  $checkoutClass = ($params->get('buy'))? ' btn-'.$params->get('buy') : '';
  $checkoutStyle = '';
  if ($total < $params->get('amount_limit', 0)) {
  $checkoutStyle = 'display:none;';
  $app->enqueueMessage(JText::_('COM_JOOMLAKASSA_AMOUNT_LIMIT_CART').'<br />'.
     JText::sprintf('COM_JOOMLAKASSA_AMOUNT_LIMIT',
      JHtml::_('gsWork.costDisplay', $params->get('amount_limit', 0), false,
     $this->currency->cours, $this->currency->symbol)), 'Notice');
  }
  ?>
          <p>
            <?php
// onClick URL
            $itemId = JRequest::getInt('Itemid');
$onClickUrl = 'index.php?option=com_joomlakassa&view=order&Itemid='.$itemId;
?>
            <button id="jkCheckout" class="btn<?php echo $checkoutClass ?>" type="button"
            style="<?php echo $checkoutStyle ?>"
                onClick="window.open('<?php echo JURI::base().$onClickUrl ?>', '_top')">
              <?php echo JText::_('COM_JOOMLAKASSA_CART_BUY_ALL')?>
            </button>
          </p>
        </td>
        <?php if ($params->get('calculate', 1)) : ?>
        <?php endif; ?>
        <td colspan="2" style="text-align:center">
          <p class="jk-cost lead <?php echo $classCost ?>">
            <span id="jkTotalAmount"><?php echo JHtml::_('gsWork.costDisplay', $total, false, $this->currency->cours)?></span><?php echo $this->currency->symbol ?>
          </p>
        </td>
      </tr>
    </tbody>
  </table>
 
  <?php
  // Связанные продукты
  if ($this->related && $params->get('sum_related_line', 28)) : ?>
  <h3>
    <?php echo JText::_('COM_JOOMLAKASSA_ADD_TO_ORDER')?>
  </h3>
  <ul class="jk-baggage-related">
<?php foreach ($this->related as $related) :
        // Ссылка на продукт
        $relatedSlug = $related->alias ? ($related->id.':'.$related->alias) : $related->id;
        $linkRelated  = JRoute::_(JoomlakassaHelperRoute::getProductRoute($relatedSlug, $related->catid));
        // стоимость
        $relPayment = JHtml::_('gsWork.costDisplay', $related->payment_amount, false, $this->currency->cours, $this->currency->symbol);
        // стоимость со скидкой
        $relDiscount = JHtml::_('gsWork.costDisplay', $related->amount_discount, false, $this->currency->cours, $this->currency->symbol);
        ?>
    <li class="well well-small" style="width: <?php echo $params->get('sum_related_line', 28)?>%">
      <?php
      // изображение
      if ($related->image) {
          echo JHtml::_('gswork.imgsize', $related->image, 50, $related->name);
      }
      // имя
      $nameOverflow = ($params->get('titlesOverflow', 0))?
                       ' overflow: hidden; text-overflow: ellipsis; white-space: nowrap;' : '';
      ?>
      <p style="font-weight:bold;<?php echo $nameOverflow ?>">
        <a href="<?php echo $linkRelated ?>" target="_blank">
  <?php echo $related->name ?>
        </a>
      </p>
      <p class="baggage-price">
        <?php
        // если есть скидка
        if ($related->discount) :
            // стиль текста стоимости (Bootstrap)
            $relClassCost = ($params->get('product_layout') == 'bootstrap' && $params->get('textCostProd','text-info'))? $params->get('textCostProd','text-info') : 'related-new-price';
            $relCost = $related->amount_discount;
            ?>
            <span class="related-old-price" style="text-decoration: line-through;"><?php echo $relPayment ?></span>
            <span class="<?php echo $relClassCost ?>" style="font-weight:bold;"><?php echo $relDiscount ?></span>
        <?php else :
            // стиль текста стоимости (Bootstrap)
            $relClassCost = ($params->get('product_layout') == 'bootstrap' && $params->get('textCostProd','text-info'))? $params->get('textCostProd','text-info') : 'related-price';
            $relCost = $related->payment_amount;
            ?>
            <span class="<?php echo $relClassCost ?>" style="font-weight:bold;"><?php echo $relPayment ?></span>
        <?php endif; ?>
      </p>
      <?php
      // url контролера корзины
  $relatedUrl  = '&amp;product_id='. $related->id;
  $relatedUrl .= '&amp;product_name='. htmlspecialchars($related->name);
  $relatedUrl .= '&amp;product_cost='.$relCost;
  $relatedUrl .= '&amp;return_url='.base64_encode(JFactory::getURI()->toString());
  $cartUrl = JURI::base().'index.php?option=com_joomlakassa&amp;task=cart.addtocart'. $relatedUrl; ?>
      <a href="<?php echo $cartUrl ?>" class="jk-add_button btn btn-mini"><?php echo JText::_('COM_JOOMLAKASSA_ADD')?></a>
    </li>
    <?php endforeach; ?>
  </ul>
  <?php endif; ?>
</div>

<script type="text/javascript">
<!--
jQuery(document).ready(function()
{
// Initialise variables
var decimals   = '<?php echo $params->get('cost_decimals', 2)?>'; // Знаков после запятой
var dec_point   = '<?php echo $params->get('cost_dec_point', '.')?>'; // Разделитель дробной части
var thousands_sep = '<?php echo $params->get('cost_thousands_sep', ' ')?>'; // Разделитель тысяч
if (thousands_sep == '*') var thousands_sep = ''; // Разделитель тысяч без пробела

// Количество продуктов
jQuery("body").on("click", "#jkCartProducts .jk-num", function(e)
{
e.preventDefault();
var num = this.id.split("-");
var numID = num[1];
var numInput = jQuery("#jkNumInput_"+ numID).val(); // Количество
var limit = jQuery("#hiddenLimit_"+ numID).val(); // Мин. кол. для заказа
var hAmount = jQuery("#hiddenAmount_"+ numID).val(); // Стоимость продукта

// Проверить поле кол-во
if(numInput < parseInt(limit)) {
alert("<?php echo JText::_('COM_JOOMLAKASSA_CART_N_LIMIT_X')?> "+ limit);
return false;
}
if(numInput.match(/[^0-9]/g)) {
alert("<?php echo JText::_('COM_JOOMLAKASSA_CART_N_NOT_INCREASE')?>");
return false;
}

// AJAX запрос к cart.amountofproduct
jQuery.ajax({
type: "POST",
url: "<?php echo JURI::base()?>index.php?option=com_joomlakassa&task=cart.amountofproduct",
dataType: "text",
data: { product_n: numID,
product_count: numInput,
cur_cours: <?php echo $this->currency->cours ?>,
cur_symbol: '<?php echo $this->currency->symbol ?>' },
success:function(response)
{
// общая стоимость для одного продукта
amount = hAmount * numInput;

// К функции costFormat
newAmount = costFormat(amount.toString(), decimals, dec_point, thousands_sep);

jQuery("#jkAmount_"+ numID).text(newAmount);

// общая стоимость всех продуктов
var newTotalAmount = jQuery("#jkTotal", response).html();

// К функции costFormat
totalAmount = costFormat(newTotalAmount, decimals, dec_point, thousands_sep);

jQuery("#jkTotalAmount").html(totalAmount).show();

<?php if ($params->get('amount_limit', 0)) : ?>
// Скрыть/Показать кнопку "Оформить заказ" и системное сообщени
// в зависимисти от общей стоимости и лимита платежа
if (newTotalAmount < <?php echo $params->get('amount_limit', 0) / $this->currency->cours ?>) {
jQuery('#jkCheckout').fadeOut("slow");
jQuery('#system-message-container').html(jQuery('#systemMessage', response).html()).show();
} else {
jQuery('#jkCheckout').fadeIn("slow");
jQuery('#system-message-container').fadeOut("slow");
}
<?php endif; ?>
},
error:function (xhr, ajaxOptions, thrownError) {
// выводим ошибку
alert(thrownError);
}
});
});

// Удалить продукт
jQuery("body").on("click", "#jkCartProducts .jk-del_button", function(e)
{
e.preventDefault();
var clickedID = this.id.split("-");
var cartNumber = clickedID[1];

// AJAX запрос к cart.removedfromcart
jQuery.ajax({
type: "POST",
url: "<?php echo JURI::base()?>index.php?option=com_joomlakassa&task=cart.removedfromcart",
dataType: "text",
data: { cartToDelete: cartNumber,
cur_cours: <?php echo $this->currency->cours ?>,
cur_symbol: '<?php echo $this->currency->symbol ?>' },
success:function(response)
{
// скрыть выбранный пользователем для удаления, элемент
jQuery('#jkItemProd_'+cartNumber).fadeOut("slow");

// общая стоимость всех продуктов
var newTotalAmount = jQuery("#jkTotal", response).html();
if (newTotalAmount != '0') {
// К функции costFormat
newAmount = costFormat(newTotalAmount, decimals, dec_point, thousands_sep);
}
else {
newAmount = 0;
}
jQuery("#jkTotalAmount").html(newAmount).show();

<?php if ($params->get('amount_limit', 0)) : ?>
// Скрыть/Показать кнопку "Оформить заказ" и системное сообщени
// в зависимисти от общей стоимости и лимита платежа
if (newTotalAmount < <?php echo $params->get('amount_limit', 0) / $this->currency->cours ?>) {
jQuery('#jkCheckout').fadeOut("slow");
jQuery('#system-message-container').html(jQuery('#systemMessage', response).html()).show();
} else {
jQuery('#jkCheckout').fadeIn("slow");
jQuery('#system-message-container').fadeOut("slow");
}
<?php else : ?>
if (newTotalAmount == '0') {
jQuery('#jkCheckout').fadeOut("slow");
}
<?php endif; ?>
},
error:function (xhr, ajaxOptions, thrownError) {
alert(thrownError); // выводим ошибку
}
});
});

// CSS для ajaxBusy
jQuery('#jk_ajaxBusy').css({
display: "none"
});

// Скрыть/Показать изображение процесса загрузки
jQuery(document).ajaxStart(function(){
  jQuery('#jk_ajaxBusy').show();
}).ajaxStop(function(){
  jQuery('#jk_ajaxBusy').hide();
});
});
 

/**
* Разделить стоимость по разрядам
*
* cost Стоимость
* decimals Знаков после запятой
* point Разделитель дробной части
* separator Разделитель тысяч
*/
function costFormat(cost, decimals, point, separator)
{
if(!isNaN(cost))
{
point = point ? point : '.';
cost = cost.split('.');
if(separator)
{
var tmp_cost = new Array();
for(var i = cost[0].length, j = 0; i > 0; i -= 3)
{
var pos = i > 0 ? i - 3 : i;
tmp_cost[j++] = cost[0].substring(i, pos);
}
cost[0] = tmp_cost.reverse().join(separator);
}
if(decimals && cost[1])
cost[1] = Math.round(parseFloat(cost[1].substr(0, decimals) + '.' + cost[1].substr(decimals, cost[1].length), 10));
return(cost.join(point));
}
else return(null);
}
//-->
</script>
В некоторых случаях с других мест выходят ошибки (on line 393, on line 45)
На локальном сервере все отлично, на УРА работает, как перевел на хостинг вылезли эти ошибки.
*

aldabergenovb

  • Новичок
  • 3
  • 0 / 0
ну подскажите хотябы кто нибудь?
*

arma

  • Завсегдатай
  • 1633
  • 76 / 2
JoomlaKassa - платный компонент. Почему бы не спросить у продавца, а не в разделе "общие вопросы Joomla"?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка на сайте: Warning: session_start() [function.session-start]: Cannot send session cookie - hea

Автор sapravka

Ответов: 6
Просмотров: 2074
Последний ответ 08.10.2016, 14:53:19
от SeBun
Error:invalid login

Автор abuamr

Ответов: 4
Просмотров: 6940
Последний ответ 02.12.2015, 16:16:58
от stardel
Warning: Failed to move file! Unable to upload file

Автор sonics

Ответов: 2
Просмотров: 1199
Последний ответ 26.10.2015, 17:07:17
от sonics
Ошибка "Warning: Creating default object from empty value in"

Автор leito

Ответов: 13
Просмотров: 22335
Последний ответ 08.06.2015, 19:53:01
от Dipsena
Изменить Зависимые выпадающие списки select

Автор mirbekula

Ответов: 0
Просмотров: 809
Последний ответ 20.02.2015, 07:23:00
от mirbekula