Новости Joomla

Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla

Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla

👩‍💻 Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla.v.6.1.0 Что нового?Модуль корзины. Отображение корзины в виде offcanvas-элемента.Кнопка выхода в панели управления пользователя. Что тут сказать, просто добавили. Отправка писем только для заказов, оплаченных определёнными способами. Это удобно для рассылки сообщений, привязанных к региону или провайдеру (например, инструкции по банковскому переводу только для заказов, оплаченных банковским переводом).Листинг выплат по партнерской системе. В разделе управления партнёрскими программами появилось новое подменю «Выплаты», в котором перечислены выплаты партнёрам (упрощённое отслеживание и сверка). Добавлены настройки, благодаря которым можно определить категории товаров, на которые начисляется партнёрская комиссия с продаж.Список комплектов товаров. Система комплектов позволяет отслеживать остатки товаров, продаваемых в комплекте.Подробнее в блоге Hikashop.Поскольку мы не сообщали ранее о Hikashop 6.0, то вкратце скажем, что он вышел в июне 2025г. В новой версии было:- 13 исправлений ошибок- 17 улучшений. В частности:- - Hikashop теперь проверяет UserAgent пользователя перед добавлением товара в корзину, чтобы отсечь ботов. Ведь компонент хранит корзины в базе данных.- - улучшен роутинг компонента, позволяющий использовать в названии товара даже слеши.- - улучшения фильтра товаров - ускорение загрузки категорий/брендов/характеристик.- 4 новых функции:- - добавлена поддержка Joomla 6.0.- - Улучшена возможность адаптации форм HikaShop на фронтенде к шаблонам, не использующим стандартные классы Joomla.- - Плагин внутреннего баланса: возможность исключить уцененные товары из начисленных баллов.- - Теперь можно выбирать склады для вариантов товаров.Подробнее в Changelog Hikashop.Также при работе с Hikashop стоит учитывать, что один и тот же код поддерживает версии Joomla от 3.х до 5.х, а в таблице сравнения версий заявлена и Joomla 2.5. Беглый просмотр кода показал, что компонент как был, так и остался старым и для совместимости с Joomla 4+ просто добавлен плагин.@joomlafeed#joomla #расширения #hikashop

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста...

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста...

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста "Просто о Digital"Гость:🎙 Владимир Сергеенко ( https://t.me/aixman ) • Интернет-маркетолог с 14-летним опытом• Соавтор книги «Нетворкинг»• Спикер конференции Ассоциации директоров по развитиюВедущий:💻 Игорь Филипенко ( https://t.me/igorleee )• Программист и предприниматель с 16-летним опытом в digital• Основатель подкаста "Просто о Digital"• Специалист по автоматизации бизнес-процессовВ этом выпуске вы узнаете:🔥 Актуальность сайтов в эпоху нейросетей• Актуален ли сайт сейчас и будет ли актуален в будущем?• Зачем нужен сайт? Есть ли иные инструменты привлечения клиентов?🤖 Нейросети vs Поисковики vs Сайты• Почему нейросети не заменят сайты в B2B-сегменте• Как Google и Яндекс меняют алгоритмы из-за AI-конкуренции📊 Сайт как центр вселенной вашего трафика• Почему без сайта вы сливаете 40% маркетингового бюджета впустую?🛡 Безопасность и Joomla 6.0• Как отфильтровать 99% ботов и сэкономить на трафике• Почему Joomla теперь обходит WordPress в безопасности и скорости⚖️ Выбор платформы: битва CMS• WordPress: 50% рынка но 80% уязвимостей• Joomla: профессиональная CMS для сложных проектов• Drupal: почему его похоронили в 2023 году• Tilda: когда конструктор выгоднее CMSПриятного просмотра/прослушивания!RSS: https://cloud.mave.digital/61930Mave: https://igorfilipenko.mave.digitalЯндекс Музыка: https://music.yandex.ru/album/35840190Telegram Mave: https://t.me/mavestreambot/app?startapp=igorfilipenkoApple Podcasts: https://podcasts.apple.com/us/podcast/просто-о-digital-и-бизнесе/id1801903450ВКонтакте: https://vk.com/podcasts-12488584Youtube: https://www.youtube.com/playlist?list=PLfR6jTpnkohDDco32xZ-KyMyWi_S5Xdy2=========================Видео-формат подкаста:Rutube: https://rutube.ru/video/b5762754f9d3e0dc382f32f3034be0a2/Youtube: https://youtu.be/nu1XF2jNbxY#подкаст #podcast

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

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Уважаемые Знатоки J!
Бьюсь два дня.
При любых манипуляциях с кодом Ругается на:  Invalid argument supplied for foreach()
 !

Как я понял нужно править кусок кода модели:

Код
	public function getItem() 
{
if (!isset($this->item))
{
$id = $this->getState('message.id');
$this->_db->setQuery($this->_db->getQuery(true)
->from('#__helloworld as h')
->leftJoin('#__categories as c ON h.catid=c.id')
->select('h.greeting, h.params, c.title as category')
->where('h.id=' . (int)$id));
if (!$this->item = $this->_db->loadObject())
{
$this->setError($this->_db->getError());
}
else
{
// Load the JSON string
$params = new JRegistry;
$params->loadJSON($this->item->params);
$this->item->params = $params;
 
// Merge global params with item params
$params = clone $this->getState('params');
$params->merge($this->item->params);
$this->item->params = $params;
}
}
return $this->item;
}

и шаблон:
Код
<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
?>
<h1><?php echo $this->item->greeting.(($this->item->category and $this->item->params->get('show_category'))? (' ('.$this->item->category.')') : ''); ?></h1>

Помогите разобраться!
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #1 : 03.12.2013, 17:58:45 »
А что вы пытаетесь в цикле перебрать если получаете одиночный объект! У вас же возврат не массива!
и где у вас ругается? на какой строке? где полный код, и копипаст ошибки?
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #2 : 03.12.2013, 18:25:47 »
Нужно как минимум создать представление, которе будет выводить список записей.
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #3 : 03.12.2013, 18:52:17 »
функцию getItem сократил до минимума:

   public function getItem()
   {
         $this->_db->setQuery
         ($this->_db->getQuery(true)
            ->from('#__helloworld')
            ->select('*'));
         $this->item = $this->_db->loadObject();
      return $this->item;
   }


шаблон:

<?php foreach($items as $item) : ?>
<div class="comm_box_top">
<span class="comm_greeting"> <?php echo $item->greeting; ?> </span>
<span class="comm_id"> <?php echo $item->id; ?> </span>
</div>
<?php endforeach;  ?>

как внедрить loadObjectList не знаю.
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #4 : 03.12.2013, 19:00:29 »
У вам метод getItem вы пытаетесь перебрать items..
в нем вы получаете одиночный объект, а вам нужно массив объектов...
покажите ваш вид!, как вы получаете $this->items...
что бы получить массив объектов нужно юзать не $this->_db->loadObject(),  а $this->_db->loadObjectList()!
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #5 : 03.12.2013, 19:00:46 »
так?

   public function getItem()
   {
      $db = JFactory::getDbo();      
      $query = $db->getQuery(TRUE);
      $query->select("*");
      $query->from("#__helloworld");
      $db->setQuery($query);
      $items = $db->loadObjectList();
      return $items;
}
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #6 : 03.12.2013, 19:01:30 »
так
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #7 : 03.12.2013, 19:04:17 »
Получаем:
Warning: Invalid argument supplied for foreach() in Z:\home\joomla.loc\www\components\com_helloworld\views\helloworld\tmpl\default.php on line 8

<?php foreach($items as $item) : ?>    ---------- line 8
<div class="comm_box_top">
<span class="comm_greeting"> <?php echo $item->greeting; ?> </span>
<span class="comm_id"> <?php echo $item->id; ?> </span>
</div>
<?php endforeach;  ?>
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #8 : 03.12.2013, 19:19:07 »
Нужно и views\helloworld\view.html.php править?
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #9 : 03.12.2013, 19:22:02 »
ну для начала покажите что у вас в view.html.php
но 99% там $this->item = $this->get('Item');
а потом вы пробуете перебрать $tems откуда у вас эта переменная вообще взялась? в шаблоне?
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #10 : 03.12.2013, 19:24:34 »
Там всё как было

class RewComViewRewCom extends JView
{
   // Overwriting JView display method
   function display($tpl = null)
   {
      // Assign data to the view
      $this->item = $this->get('Item');
 
      // Check for errors.
      if (count($errors = $this->get('Errors')))
      {
         JError::raiseError(500, implode('<br />', $errors));
         return false;
      }
      // Display the view
      parent::display($tpl);
   }
}
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #11 : 03.12.2013, 19:27:06 »
Ну все правильно!
вы получаете то что в модели в методе getItem() вот тут: $this->item = $this->get('Item');
а потом вы пробуете перебрать какой то $items, откуда он у вас взялся?
<?php foreach($this->item as $item) : ?>
...
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #12 : 03.12.2013, 19:34:00 »
Всё запутался Я

Я не писал компоненты, только пара модулей и плагин!
Поэтому и не пойму, что куда.
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #13 : 03.12.2013, 19:41:44 »
Всё запутался Я

Я не писал компоненты, только пара модулей и плагин!
Поэтому и не пойму, что куда.

Ваш вид view.html.php в строке:   $this->item = $this->get('Item'); обращается к модели и получает из метода (который я вам немного оптимизировал):
Код: php
public function getItem() {
      $db = JFactory::getDbo();      
      $query = $db->getQuery(true)->select('*')->from('#__helloworld');
      return  $db->setQuery($query)->loadObjectList();
}
Результат запроса в виде массива объектов! тоесть по сути $this->get('Item') обращается к getItem() тот что в модели!
После этого результат, который вернет  метод  getItem() из модели, помещается в переменную $this->item!
В шаблоне вида view/ващ_вид/default.php эта переменная будет доступна по $this->item!
Вам нужно в цикле использовать $this->item для перебора!
Код: php
<?php foreach($this->item as $item) : ?>    ---------- line 8
<div class="comm_box_top">
<span class="comm_greeting"> <?php echo $item->greeting; ?> </span>
<span class="comm_id"> <?php echo $item->id; ?> </span>
</div>
<?php endforeach;  ?>
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #14 : 03.12.2013, 19:43:56 »
ПОЛУЧИЛОСЬ! Istaan, b2z СПАСИБО! *DRINK*

Значит в модели:
public function getItem()
   {
      $db = JFactory::getDbo();     
      $query = $db->getQuery(TRUE);
      $query->select("*");
      $query->from("#__helloworld");
      $db->setQuery($query);
      $items = $db->loadObjectList();
      return $items;
}

В представлении:
$this->items = $this->get('Item');

В шаблоне:
<?php foreach($this->items as $item) : ?>
<div class="comm_box_top">
<span class="comm_greeting"> <?php echo $item->greeting; ?> </span>
<span class="comm_id"> <?php echo $item->id; ?> </span>
</div>
<?php endforeach;  ?>
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #15 : 03.12.2013, 19:45:27 »
Да все правильно, только для красоты переименуйте метод в модели с public function getItem(), в public function getItems()
и напишите $this->items = $this->get('Items'); в виде, вместо $this->items = $this->get('Item');
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Re: Как в com_helloworld вывести всю таблицу?
« Ответ #16 : 03.12.2013, 19:49:16 »
Ок! Istaan отдельное спасибо за разъяснение!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Передача переменной в таблицу #_user_usergroup_map

Автор banditman

Ответов: 8
Просмотров: 2057
Последний ответ 27.03.2015, 11:11:38
от banditman
[Решено] Как вывести строки из бд - удовлетворяющие требование SQL запроса!

Автор artemka

Ответов: 11
Просмотров: 2050
Последний ответ 21.07.2014, 20:58:07
от artemka
Как вывести ссылку на выведенную статью?

Автор artemka

Ответов: 3
Просмотров: 1648
Последний ответ 15.06.2014, 11:03:59
от artemka
Как вывести определённые материалы в статье?

Автор artemka

Ответов: 0
Просмотров: 1131
Последний ответ 13.06.2014, 12:19:32
от artemka
Строк нет - и таблицу долой! Как заскриптовать?

Автор verstalshik

Ответов: 24
Просмотров: 1584
Последний ответ 22.04.2014, 21:24:58
от verstalshik