Новости Joomla

20 лет Joomla: Ринат Кажетов.В 2025 году Joomla исполнилось 20 лет

20 лет Joomla: Ринат Кажетов.В 2025 году Joomla исполнилось 20 лет

👩‍💻 20 лет Joomla: Ринат Кажетов.В 2025 году Joomla исполнилось 20 лет. Вокруг неё сложилось большое интернациональное русскоязычное сообщество. На сайте нашего сообщества и на Хабре к юбилею были собраны интервью с его видными представителями. Сегодня мы читаем интервью с Ринатом Кажетовым (@rkazhet). Ринат - один из администраторов чата русскоязычного Joomla-сообщества, из Казахстана. Это человек, который всегда знает или найдёт нужную ссылку, пристально следит за новостями в мире Joomla, многое узнаёт первым и просто очень отзывчивый человек. Интервью с Ринатом взял Евгений Сивоконь.Читать интервью@joomlafeed#joomla #community

WT AmoCRM - RadicalMart плагин интеграции интернет-магазина на Joomla с CRM

👩‍💻 WT AmoCRM - RadicalMart плагин интеграции интернет-магазина на Joomla с CRM.Плагин умеет отправлять данные заказа из Joomla компонента интернет-магазина RadicalMart в AmoCRM, а так же оставлять примечания к сделке при смене статуса заказа (выберите необходимые статусы заказа RadicalMart в настройках плагина).Возможности плагина - создание сделок в AmoCRM в момент создания заказа в интернет-магазине RadicalMart- выбор воронки AmoCRM, в которой создавать сделки- выбор тега, которым будут помечаться созданные сделки- в комментарий к сделке при создании заказа пишутся:-- точная общая сумма заказа (Amo CRM не принимает дробные значения в поле бюджет, например с копейками)-- статус заказа-- информация о доставке (способ, адрес и комментарий)-- информация о способе оплаты-- контактные данные покупателя (могут отличаться от данных пользователя, создавшего заказ. Например, если доставка для другого человека)-- прямая ссылка на заказ в панели администрирования сайта-- список товаров заказа (опционально)добавление комментария к сделке при изменении статуса заказа в интернет-магазине RadicalMart (выберите необходимые статусы заказа в настройках плагина)-- добавляет в интерфейс просмотра заказа ссылку на сделку в AmoCRM, если таковая обнаружена (соответствие заказов и сделок хранится в базе данных)-- UTM-метки для сделки. Указывает, если на сайте используется комплект плагинов RadicalForm и WT AmoCRM - RadicalForm.
Для работы плагина необходима установка и настройка библиотеки WT Amo CRM library для Joomla версии 1.3.0 и выше.
Плагин бесплатный. Тестировался на Joomla 5.4 и RadicalMart 2.2.4.
Страница расширения и скачатьТак же:- Интернет-магазин RadicalMart- WT Amo CRM библиотека интеграции Joomla и AmoCRM- RadicalForm плагин обратной связи- WT AmoCRM - RadicalForm - плагин отправки сообщений из RadicalForm в AmoCRM@joomlafeed#joomla #crm #amocrm #radicalmart

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

denism300

  • Захожу иногда
  • 210
  • 5 / 0
Подскажите, как составить запрос вида:
Код: php
$db 		= 	$this->getDBO();

$subquery = $db->getQuery(true);
$subquery -> select($db->quoteName('b.vendor_params'));
$subquery -> from($db->quoteName('#__vendors', 'b'));
$subquery -> where($db->quoteName('b.vendor_id'). ' = 1');

$query = $db->getQuery(true);
$query -> select($db->quoteName('a.user_code'));
$query -> from($db->quoteName('#__mycomp', 'a'));
$query -> where($db->quoteName('a.user_id'). ' IN (' . $subquery . ')');
$db -> setQuery($query);
$result = $db->loadColumn();

если поле b.vendor_params содержит данные, разделенные запятой. структуру таблицы b изменить нельзя.
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Я что-то не пойму, что хранится в vendor_params? Там какие-то значения через запятую и среди них есть user_id?
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
одним запросом делать - это как минимум неправильно
т.к. подзапрос может ничего не вернуть и в результате получится ошибка
Цитировать
IN ()
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Ну тогда это просто невозможно. Как база поймёт, что среди строки, типа lala,11,lala,lala,12121, есть user_id? Или там как-то по другому хранятся данные или там все значения, это user_id?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Код: php-brief
$subquery=trim(implode(',',$db->loadColumn()),',');
Не будь паразитом, сделай что-нибудь самостоятельно!
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
Ну тогда это просто невозможно. Как база поймёт, что среди строки, типа lala,11,lala,lala,12121, есть user_id? Или там как-то по другому хранятся данные или там все значения, это user_id?
там все значения user_id, т.е. там хранится строка вида: 123,56,889,416 и т.п.
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
одним запросом делать - это как минимум неправильно
т.к. подзапрос может ничего не вернуть и в результате получится ошибка
да, я попробовал так:
Код: php
$db 		= 	$this->getDBO();
 
$subquery = $db->getQuery(true);
$subquery -> select($db->quoteName('b.vendor_params'));
$subquery -> from($db->quoteName('#__vendors', 'b'));
$subquery -> where($db->quoteName('b.vendor_id'). ' = 1');
$db -> setQuery($subquery);
$subresult = $db->loadResult();
 
$query = $db->getQuery(true);
$query -> select($db->quoteName('a.user_code'));
$query -> from($db->quoteName('#__mycomp', 'a'));
$query -> where($db->quoteName('a.user_id'). ' IN (' . implode(',', $subresult). ')');
$db -> setQuery($query);
$result = $db->loadColumn();

и получил ошибку IN (), хотя подзапрос
Код: php
$subquery = 	$db->getQuery(true);
$subquery -> select($db->quoteName('b.vendor_params'));
$subquery -> from($db->quoteName('#__vendors', 'b'));
$subquery -> where($db->quoteName('b.vendor_id'). ' = 1');
$db -> setQuery($subquery);
$subresult = $db->loadResult();

возвращает результат вида 123,56,889,416
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
потому что если бы вы не поленились почитать документацию по функции imlode то увидели бы что implode — Объединяет элементы массива в строку, а вы что передаете вторым параметром и что хотите в итоге получить?
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
там все значения user_id, т.е. там хранится строка вида: 123,56,889,416 и т.п.
Ну тогда Ваш первый запрос по идее верный. Получаете ошибку?

Сделайте
Код: php
echo $query->dump();
перед
Код: php
$db->setQuery($query); 
и посмотрите, как выглядит чистый запрос.
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
потому что если бы вы не поленились почитать документацию по функции imlode то увидели бы что implode — Объединяет элементы массива в строку, а вы что передаете вторым параметром и что хотите в итоге получить?
я знаю, что означает implode. меня тоже смутило использование данной функции, но везде в интернете, где я встречал подобное, советовали делать так. например, тут
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
я знаю, что означает implode. меня тоже смутило использование данной функции, но везде в интернете, где я встречал подобное, советовали делать так. например, тут
Так это если у Вас массив. У Вас же готовая строка 123,56,889,416 - она в IN() прекрасно становится.
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
Так это если у Вас массив. У Вас же готовая строка 123,56,889,416 - она в IN() прекрасно становится.
понятно. я, по причине неопытности, думал, что массив.
с запросом разобрался. изначальный вариант заработал.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
понятно. я, по причине неопытности, думал, что массив.
вот потому и надо было почитать на php.net документацию и как работает и что принимает функция implode http://php.net/manual/ru/function.implode.php
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
вот потому и надо было почитать на php.net документацию и как работает и что принимает функция implode http://php.net/manual/ru/function.implode.php
спс, буду знать теперь.

такой вопрос:
пытаюсь составить запрос вида:
Код: sql
SELECT `t`.`id` FROM `table` AS `t` WHERE `t`.`name` <> 'some_name'
конструкции вида:
!=
<>
NOT LIKE

не работают. в интернетах тоже ничего толкового не нашел.
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
запрос не выдает нужный результат
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
если вывести в дамп запрос, то видно, что он обрезает значение, по которому надо выбирать.
т.е. я делаю запрос так:
Код: php
$db 	= 	$this->getDBO();
$query = $db->getQuery(true);
$query -> select($db->quoteName('t.id'));
$query -> from($db->quoteName('#__table', 't'));
$query -> where($db->quoteName('t.name'). ' <> ' . $db->quote('some_name'));
$db -> setQuery($query);
$result = $db->loadResult();

а на выходе получаю

Код: mysql
SELECT `t`.`id` FROM `table` AS `t` WHERE `t`.`name
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
также пробовал строку
Код: php
$query	->	where($db->quoteName('t.name'). ' <> ' . $db->quote('some_name'));
заменить на
Код: php
$query	->	where('t.name <> "some_name"');
но все равно обрезается значение
Код: sql
... WHERE `t`.`name
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Ваш запрос (скопировал код ) у меня: SELECT `t`.`id` FROM `#__table` AS `t` WHERE `t`.`name` <> 'some_name'
Возможно у вас что то с кодировкой файла!
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
с кодировкой все нормально, т.к. в этом файле модели и другие запросы есть, они корректно работают.
ок. буду соображать дальше, в чем может быть ошибка.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
а на выходе получаю
А как вы получаете?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
А как вы получаете?
вот так получаю:
Код: php
echo $query->dump();

все, победил эту проблему. сделал так:
Код: php
$db 	= 	$this->getDBO();
$query = $db->getQuery(true);
$query -> select($db->quoteName('t.id'));
$query -> from($db->quoteName('#__table', 't'));
$query -> where($db->quoteName('t.name'). ' NOT LIKE ' . $db->quote('%some_name%'));
$db -> setQuery($query);
$result = $db->loadResult();
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
А что вы будете делать, когда нужно name=some_name_blah? Надо найти причину ошибки, хотя все довольно странно. Кстати, вы написали, что получаете строку запроса путем echo $query->dump();. У вас что, внешний скрипт?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

denism300

  • Захожу иногда
  • 210
  • 5 / 0
А что вы будете делать, когда нужно name=some_name_blah? Надо найти причину ошибки, хотя все довольно странно.
а вот про этот момент я не подумал. :(
но только при таком написании запроса он не обрезается.

Кстати, вы написали, что получаете строку запроса путем echo $query->dump();. У вас что, внешний скрипт?
нет, внешних скриптов нет.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
а почему вы решили что запрос неправильно работает? и вы смотрели что выводит в просмотре кода?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Код
echo $query->__toString();
тоже обрезает? покажите реальный запрос
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Код
echo $query->__toString();
тоже обрезает? покажите реальный запрос
Вообще то при "echo $query" и вызывается __toString()...
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
так и есть, но dump выводится в тегах pre. хотел убедиться, что у ТС нет проблем с ними из за CSS или <> в запросе, например как вы сказали из-за неверной кодировки
« Последнее редактирование: 20.11.2016, 13:54:26 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Селект с возможностью выбора всех данных материала

Автор bombapiter

Ответов: 3
Просмотров: 941
Последний ответ 30.04.2021, 13:17:13
от v42bis
Помогите оптимизировать getDBO запрос

Автор goga_pgasovav

Ответов: 5
Просмотров: 791
Последний ответ 10.12.2020, 12:36:56
от goga_pgasovav
Произошла ошибка при получении данных json: код состояния http 0. error

Автор Андрей Купцов

Ответов: 2
Просмотров: 4186
Последний ответ 18.12.2019, 10:14:55
от Андрей Купцов
Вывод данных соглано таблицы Excel

Автор warlocksp

Ответов: 56
Просмотров: 2722
Последний ответ 28.02.2019, 23:56:23
от warlocksp
Юникод при записи параметров в базу данных

Автор Taatshi

Ответов: 12
Просмотров: 1314
Последний ответ 30.10.2017, 14:27:31
от SeBun