count работает с массивами а не целочисленными переменными.
И у вас там преинкремент зачем то.
Попробуйте так.
echo count($items)
Приложите весь файл.
Не совсем понял что значит "Приложите весь файл"...
Вставил ваш код пишет цифру 3 когда товаров 4 в таблице, не работает...
Вот код orderemail.php:
<?php
defined('_JEXEC') or die('Restricted access');
$orderDetails = JBModelOrder::model()->getDetails($item);
$items = $orderDetails->data();
?>
<p style="font-size:16px">Заказ клиента: № СИ-<?php echo $item->id; ?> от <?php echo date('d.m.Y'); ?>г.</p>
<hr>
<p>Исполнитель: СИМАГ63, ООО «Арден», ИНН 6316156911, КПП 631601001, 443096, Самарская область, г. Самара, Больничная, 39 к. 25</p>
<p>Заказчик: ФКУ СИЗО-1 ГУФСИН России по Самарской области</p>
<p>Грузополучатель: <?php if ($this->checkPosition('shipping')) : ?><?php echo $this->renderPosition('shipping');?>г.р.,<?php endif; ?><?php if ($this->checkPosition('shipping2')) : ?><?php echo $this->renderPosition('shipping2', array('style' => 'comma'));?><?php endif; ?></p>
<?php if ($this->checkPosition('items')) : ?>
<?php echo $this->renderPosition('items'); ?>
<?php endif; ?>
<p>Всего наименований <?php echo count($items);?>, на сумму <?php echo $orderDetails->getTotalPrice(true); ?></p>
<p>Сумма прописью: <?php echo num2str($orderDetails->getTotalPrice(true)); ?></p>
Вот как на email приходит: