Вывод количества товара модулем basi cart 7.3 (Решено)

Главные вкладки

Аватар пользователя Babich Babich 22 февраля 2018 в 12:37

Доброго времени суток всем. Прошу помощи. Нашел код для вывода количество товара в корзине.
Здесь https://drupal.ru/node/101836

<?php
$qt 
0;
foreach(
$cart as $nid => $node):
  if(isset(
$node->basic_cart_quantity)) {
    
$qt += $node->basic_cart_quantity;
  }
endforeach;
?>

потом в нужном месте вывести <?php print $qt;?>
Вставляю данный код в блок, пробовал также в tempalte.php выдает ошибку.

Notice: Undefined variable: cart в функции eval() (строка 3 в файле /home/u13750/domains/california-sushi.ru/modules/php/php.module(80) : eval()'d code).
Warning: Invalid argument supplied for foreach() в функции eval() (строка 3 в файле /home/u13750/domains/california-sushi.ru/modules/php/php.module(80) : eval()'d code).

Лучший ответ

Аватар пользователя Babich Babich 23 февраля 2018 в 11:21

Решил вопрос. Большое спасибо всем за помощь. Решил так. Скопировал файл basic_cart_cart_render_block.tpl.php из папки модуля basic cart в папку с моей темой и немного его изменил. Может кому пригодится.

<?php * @file
 
Basic cart shopping cart block
 
*/
?>

<?php if (empty($cart)): ?>
  <p><?php print t('Your cart is empty.'); ?></p>
<?php else: ?>
  <div class="basic-cart-grid basic-cart-block">
    <?php if(is_array($cart) && count($cart) >= 1): ?>
      <?php $qt 0;
foreach(
$cart as $nid => $node):
  if(isset(
$node->basic_cart_quantity)) {
    
$qt += $node->basic_cart_quantity;
  } 
?>
  
      <?php endforeach; ?>
      
        <a href="/cart"><?php print t('Cart'); ?> (<?php print $qt;?>)</a>

      <?php if (!empty ($vat)): ?>
        <div class="basic-cart-block-total-vat-contents row">
          <div class="basic-cart-total-vat cell"><?php print t('Total VAT'); ?>: <strong><?php print $vat?></strong></div>
        </div>
      <?php endif; ?>
      <div class="basic-cart-cart-checkout-button basic-cart-cart-checkout-button-block row">
        <?php print l(t('View cart'), 'cart', array('attributes' => array('class' => array('button')))); ?>
      </div>
    <?php endif; ?>
  </div>
<?php endif; ?>

Комментарии

Аватар пользователя Babich Babich 22 февраля 2018 в 13:37

Вставляю код в блок, ничего не выводит, вставляю код, затем <?php print $cart;?> выводит просто Array. Вставляю код в template.php белый экран.

Аватар пользователя fairrandir fairrandir 22 февраля 2018 в 13:58

Вставляете код в блок - как именно? Блок свой, программный?
Вообще говоря не print, а print_r
Если белый экран - смотрите логи, на предмет ошибок.

Аватар пользователя Babich Babich 23 февраля 2018 в 11:21

Решил вопрос. Большое спасибо всем за помощь. Решил так. Скопировал файл basic_cart_cart_render_block.tpl.php из папки модуля basic cart в папку с моей темой и немного его изменил. Может кому пригодится.

<?php * @file
 
Basic cart shopping cart block
 
*/
?>

<?php if (empty($cart)): ?>
  <p><?php print t('Your cart is empty.'); ?></p>
<?php else: ?>
  <div class="basic-cart-grid basic-cart-block">
    <?php if(is_array($cart) && count($cart) >= 1): ?>
      <?php $qt 0;
foreach(
$cart as $nid => $node):
  if(isset(
$node->basic_cart_quantity)) {
    
$qt += $node->basic_cart_quantity;
  } 
?>
  
      <?php endforeach; ?>
      
        <a href="/cart"><?php print t('Cart'); ?> (<?php print $qt;?>)</a>

      <?php if (!empty ($vat)): ?>
        <div class="basic-cart-block-total-vat-contents row">
          <div class="basic-cart-total-vat cell"><?php print t('Total VAT'); ?>: <strong><?php print $vat?></strong></div>
        </div>
      <?php endif; ?>
      <div class="basic-cart-cart-checkout-button basic-cart-cart-checkout-button-block row">
        <?php print l(t('View cart'), 'cart', array('attributes' => array('class' => array('button')))); ?>
      </div>
    <?php endif; ?>
  </div>
<?php endif; ?>