Новости Joomla

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

rudoy24

  • Захожу иногда
  • 57
  • 1 / 0
Как в "components/com_jshopping/templates/default/list_products/product.php" получить "alias" товара?
$product->product_link - выводит полную ссылку, а нужно именно то что прописано в поле "alias" самого товара!
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Сделайте print_r переменной product и все увидите
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Как в "components/com_jshopping/templates/default/list_products/product.php" получить "alias" товара?
$product->product_link - выводит полную ссылку, а нужно именно то что прописано в поле "alias" самого товара!
Отдельно алиаса в списке товаров нет. Его нужно добавлять в запрос к базе данных, а потом уже можно будет вывести его отдельно.

Или можно разбить строку URL товара ($product->product_link) и получить его из этой строки. Но лучше первый вариант.
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

rudoy24

  • Захожу иногда
  • 57
  • 1 / 0
Сделайте print_r переменной product и все увидите
В print_r переменной product есть только product_link!

Кодом:
Код
$table_product = JSFactory::getTable('product', 'jshop');
$table_product->load($product->product_id);
print_r($table_product);
можно получить alias_en-GB и alias_ru-RU так же как и $table_product содержит в себе name_en-GB и name_ru-RU, НО если я name могу получить через функцию $table_product->getName() то как мне получить alias?
*

rudoy24

  • Захожу иногда
  • 57
  • 1 / 0
$table_product = JSFactory::getTable('product', 'jshop');
$table_product->load($product->product_id);
print_r($table_product);

Alias (alias_en-GB и alias_ru-RU) можно получить через:
Код
$table_product = JSFactory::getTable('product', 'jshop');
$table_product->load($product->product_id);
print_r($table_product);

Но как его вывести потом?
*

NewUsers

  • Живу я здесь
  • 2307
  • 215 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Но как его вывести потом?
Как и ответил kit2m2 в этом куске гавна алиас товара можно получить только отдельным запросом, ну или как в вашем варианте через класс таблицы.

Из класса таблицы товара можно вывести вот так!
Код: php
echo $table_product->get('alias_ru-RU');
Занимаюсь создание расширений для Joomla 3.10.x и 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Работа с DOM деревом на PHP
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Получение:
Код
	$lang = JSFactory::getLang();
$db = JFactory::getDBO();
$query = "SELECT `". $lang->get('alias')."` FROM `#__jshopping_products` WHERE `product_id`='".$product->product_id."'";
$db->setQuery($query);
$product_alias = $db->loadResult();// Алиас в зависимости языка

А вывести, это смотря как и где Вы это делаете
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

rudoy24

  • Захожу иногда
  • 57
  • 1 / 0

Как и ответил kit2m2 в этом куске гавна алиас товара можно получить только отдельным запросом, ну или как в вашем варианте через класс таблицы.

Из класса таблицы товара можно вывести вот так!
Код: php
echo $table_product->get('alias_ru-RU');

+ Спасибо, то что нужно!
А для мультиязычности так прописал:
Код: php
echo $table_product->get('alias_'.JFactory::getLanguage()->getTag());
*

rudoy24

  • Захожу иногда
  • 57
  • 1 / 0
Получение:
Код
	$lang = JSFactory::getLang();
$db = JFactory::getDBO();
$query = "SELECT `". $lang->get('alias')."` FROM `#__jshopping_products` WHERE `product_id`='".$product->product_id."'";
$db->setQuery($query);
$product_alias = $db->loadResult();// Алиас в зависимости языка

А вывести, это смотря как и где Вы это делаете


Спасибо! Помог ответ "NewUsers" и Ваш ответ также работает!  ;)
« Последнее редактирование: 20.12.2022, 19:47:42 от rudoy24 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Фильтр товаров для JoomShopping 5

Автор Lemonez

Ответов: 13
Просмотров: 794
Последний ответ 12.04.2024, 21:20:02
от nevigen
WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 13
Просмотров: 2066
Последний ответ 03.04.2024, 14:24:38
от sergeytolkachyov
Условие для кол-ва товара больше нуля

Автор kik84

Ответов: 3
Просмотров: 326
Последний ответ 16.02.2024, 13:33:24
от kit2m2
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 1
Просмотров: 443
Последний ответ 10.01.2024, 19:54:00
от sergeytolkachyov
Вывод номера телефона в списке заказов

Автор sifoz

Ответов: 8
Просмотров: 1917
Последний ответ 25.11.2023, 00:58:54
от nevigen