Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

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

John_Flores

  • Захожу иногда
  • 54
  • 0 / 0
Здравствуйте. Подскажите пожалуйста, я хочу достать из Бд значение текстового поля pdf_file, который лежит в таблице jshopping_orders чтоб в последствии это поле прикрепить к ссылке, и выводить кнопку для печати чека. Есть код...

Код
<?php if (!empty($this->text)){?>
<?php echo $this->text;?>
<?php }else{?>
<div class="thanksfinish"><?php echo JText::_("_JSHOP_THANK_YOU_ORDER")?></div>
<?php
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__jshopping_orders');
$query->where('order_id=74');
//получение результата запроса в виде объекта
$list = $db->setQuery($query)->loadObjectList();
echo $list['pdf_file'];
?>
<?php }?>

Но им не могу вывести значение поля pdf_file. Подскажите как вывести это поле, пожалуйстаа. Sql знаю не много, но сколько не читал мануалов для вывода данных с БД в Joomla 2.5 так и не понял как это реализовать((
*

artel-st

  • Захожу иногда
  • 350
  • 37 / 1
Re: Вывод данных из таблиц БД Joomla 2.5
« Ответ #1 : 28.04.2014, 17:56:34 »
foreach ($list as $current_attr) {
  // тут вывод значения нужного
}
"Жираф - это лошадь, выполненная по всем требованиям заказчика" (с) кто-то из дизайнеров
*

John_Flores

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод данных из таблиц БД Joomla 2.5
« Ответ #2 : 28.04.2014, 18:01:17 »
плз покажи на моем коде, куда эт вставить)
*

John_Flores

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод данных из таблиц БД Joomla 2.5
« Ответ #3 : 28.04.2014, 18:03:26 »
foreach ($list as $current_attr) {
  // тут вывод значения нужного
}

Сделал вот так:
Код
<?php
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__jshopping_orders');
$query->where('order_id=74');
//получение результата запроса в виде объекта
$list = $db->setQuery($query)->loadObjectList();
foreach ($list as $current_attr) {
echo $list;}
?>

Но вывело на сайте просто слово "Array"
« Последнее редактирование: 28.04.2014, 18:12:36 от John_Flores »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вывод данных из таблиц БД Joomla 2.5
« Ответ #4 : 28.04.2014, 18:13:14 »
Сделал вот так:
Код
foreach ($list as $current_attr) {
echo $list;}
Вы сами понимаете, что написали? Если хотите проверить, напишите вместо этого
Код: php-brief
print_r($list);
Не будь паразитом, сделай что-нибудь самостоятельно!
*

John_Flores

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод данных из таблиц БД Joomla 2.5
« Ответ #5 : 28.04.2014, 18:22:11 »
Вы сами понимаете, что написали? Если хотите проверить, напишите вместо этого
Код: php-brief
print_r($list);
Подскажите тогда пожалуйста, как написать чтоб вывести значение поля pdf_file таблицы jshopping_orders?
*

artel-st

  • Захожу иногда
  • 350
  • 37 / 1
Re: Вывод данных из таблиц БД Joomla 2.5
« Ответ #6 : 28.04.2014, 18:22:37 »
Код
<?php if (!empty($this->text)) {?>
<?php echo $this->text;?>
<?php } else { ?>
<div class="thanksfinish"><?php echo JText::_("_JSHOP_THANK_YOU_ORDER")?>
<?php
$db = JFactory::getDbo();

//задаем переменную с текстом запроса
$q = "SELECT * FROM #__jshopping_orders WHERE #__jshopping_orders.order_id=74";
//выполняем запрос в БД
$db->setQuery($q);
//присваиваем переменной значение результата запроса (! у нас - это массив)
$result = $db->loadAssocList();  

// смотрим нужные названия ключей массива (эту строку потом можно удалить)
print_r($result);

//задаем пусть к папке с файлами
$order_url = JURI::base().'components/com_jshopping/files/pdf_orders/';


// запускаем цикл
foreach($result as $attr) {
  // выводим значение элемента массива
  echo '<a href="'$order_url.$attr->pdf_file.'" target="_blank">Загрузить/открыть PDF-счет</a>' ;
}
?>
</div>
<?php } ?>

Если Вам массив не нужен, то вместо Вашего loadObjectList используйте или loadObject, или loadRow

Соответственно foreach будет не нужен.
« Последнее редактирование: 28.04.2014, 18:26:22 от artel-st »
"Жираф - это лошадь, выполненная по всем требованиям заказчика" (с) кто-то из дизайнеров
*

John_Flores

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод данных из таблиц БД Joomla 2.5
« Ответ #7 : 28.04.2014, 18:24:14 »
А извините, тупанул) два дня за компом не вылазно... Спасибо за ответ print_r($list); помог
*

John_Flores

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод данных из таблиц БД Joomla 2.5
« Ответ #8 : 28.04.2014, 18:27:37 »
Код
<?php if (!empty($this->text)) {?>
<?php echo $this->text;?>
<?php } else { ?>
<div class="thanksfinish"><?php echo JText::_("_JSHOP_THANK_YOU_ORDER")?>
<?php
$db = JFactory::getDbo();

//задаем переменную с текстом запроса
$q = "SELECT * FROM #__jshopping_orders WHERE #__jshopping_orders.order_id=74";
//выполняем запрос в БД
$db->setQuery($q);
//присваиваем переменной значение результата запроса (! у нас - это массив)
$result = $db->loadAssocList();  

// смотрим нужные названия ключей массива (эту строку потом можно удалить)
print_r($result);

//задаем пусть к папке с файлами
$order_url = JURI::base().'components/com_jshopping/files/pdf_orders/';


// запускаем цикл
foreach($result as $attr) {
  // выводим значение элемента массива
  echo '<a href="'$order_url.$attr->pdf_file.'" target="_blank">Загрузить/открыть PDF-счет</a>' ;
}
?>
</div>
<?php } ?>

Если Вам массив не нужен, то вместо Вашего loadObjectList используйте или loadObject, или loadRow

Соответственно foreach будет не нужен.

Спасибо за мануальчик, но ошибку выдал синтаксическую на строке
Код
   echo '<a href="'$order_url.$attr->pdf_file.'" target="_blank">Загрузить/открыть PDF-счет</a>' ;

Ошибка - Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in
*

artel-st

  • Захожу иногда
  • 350
  • 37 / 1
Re: Вывод данных из таблиц БД Joomla 2.5
« Ответ #9 : 28.04.2014, 18:43:30 »
Код
echo '<a href="'.$order_url.$attr["pdf_file"].'" target="_blank">Загрузить/открыть PDF-счет</a>';

http://docs.joomla.org/J1.5:Accessing_the_database_using_JDatabase

И лучше переписать на работу со строчными данными. У Вас условие жесткое по order_id, дублироваться не будет.

Перепишите запрос на выбор только значения pdf_file и выводите без итерации, тем более, что другие столбцы БД не используются.
« Последнее редактирование: 28.04.2014, 18:46:37 от artel-st »
"Жираф - это лошадь, выполненная по всем требованиям заказчика" (с) кто-то из дизайнеров
*

John_Flores

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод данных из таблиц БД Joomla 2.5
« Ответ #10 : 28.04.2014, 18:47:37 »
Огромноеее Спасибо artel-st. И за помощь с кодом и за предоставленную документацию. Все заработало
*

John_Flores

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод данных из таблиц БД Joomla 2.5
« Ответ #11 : 28.04.2014, 18:50:37 »
 А можно еще вопрос, чтоб долго не лазить уже по Google и т.п, как сделать вывод не по жесткому условию, а по условию последне созданного товара. Ну т.е клиент делает заказа на сайте, и что он тут заказал, этот пдф счет чтобы и выводился там? Как условия выборки задать по последне созданному pdf файлу?
*

artel-st

  • Захожу иногда
  • 350
  • 37 / 1
Re: Вывод данных из таблиц БД Joomla 2.5
« Ответ #12 : 28.04.2014, 19:00:49 »
Вообще без выборки:
Создать пункт меню JoomShopping - Клиенты - User / Orders и выводить ссылку на список счетов, пусть сам выбирает интересующий заказ и печатает.
"Жираф - это лошадь, выполненная по всем требованиям заказчика" (с) кто-то из дизайнеров
*

John_Flores

  • Захожу иногда
  • 54
  • 0 / 0
Re: Вывод данных из таблиц БД Joomla 2.5
« Ответ #13 : 28.04.2014, 20:54:44 »
Еще раз спасибо artel-st за помощь.
Вот полностью рабочая версия файла finish.php в котором содержится ссылка на только что созданный счет pdf (его конечно можно было открыть и через админку, но клиент пожелал это чтоб делалось от туда, чтоб не терять лишних 30 сек оформления)
Код
<?php if (!empty($this->text)) {?>
<?php echo $this->text;?>
<?php } else { ?>
<div class="thanksfinish"><?php echo JText::_("_JSHOP_THANK_YOU_ORDER")?><br>
<?php
$db = JFactory::getDbo();
$client_id = JRequest::getInt('client_id',0);
$user = JFactory::getUser();
//задаем переменную с текстом запроса
$q = "SELECT pdf_file FROM #__jshopping_orders ORDER BY #__jshopping_orders.order_id DESC LIMIT 1 ";
//выполняем запрос в БД
$db->setQuery($q);
//присваиваем переменной значение результата запроса (! у нас - это массив)
$result = $db->loadAssocList(); 

// смотрим нужные названия ключей массива (эту строку потом можно удалить)
/*print_r($result);*/

//задаем пусть к папке с файлами
$order_url = JURI::base().'components/com_jshopping/files/pdf_orders/';

// запускаем цикл
foreach($result as $attr) {
   // выводим значение элемента массива
  echo '<a href="'.$order_url.$attr["pdf_file"].'" target="_blank">Загрузить/открыть PDF-счет</a>';
}
?>
</div>
<?php } ?>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как редактировать отдельную страницу Joomla 2.5?

Автор mrporter

Ответов: 0
Просмотров: 14192
Последний ответ 14.09.2023, 22:16:47
от mrporter
Joomla 2.5.28, Safari под маком и сессии session

Автор beliyadm

Ответов: 19
Просмотров: 17001
Последний ответ 29.03.2023, 12:17:19
от Sawell
Joomla 2.5.28 как скачать все файлы через панель управления

Автор Sergei41984

Ответов: 7
Просмотров: 14740
Последний ответ 27.12.2022, 23:30:38
от Sergei41984
Расширения для Joomla! 1.6 (коллекция полезных ссылок)

Автор Sulpher

Ответов: 124
Просмотров: 146079
Последний ответ 03.12.2022, 16:15:19
от besttechoff
Почему в админке Joomla 2.58 - у меня 16 админов показывает?

Автор dyalex

Ответов: 7
Просмотров: 15596
Последний ответ 27.10.2022, 19:03:45
от marksetter