Часть 5 Использование БД
14/04/2012
Разработка модуля Joomla 2.5
Как писалось в предидущей части запросы и оперирование данными проще делать в файле "помощнике". В качестве примера составим запрос на выбор случайных трех заголовков из опубликованных материалов.
helper.php
<?php /** * @package Joomla.Tutorials * @subpackage Module * @copyright (C) 2012 http://jomla-code.ru * @license License GNU General Public License version 2 or later; see LICENSE.txt */ // No direct access. defined('_JEXEC') or die('(@)|(@)'); class modHelloworldHelper { public static function getList(&$params) { $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('title'); $query->from('#__content'); $query->where('state = 1'); $query->order('RAND()'); $db->setQuery($query, 0, 3); $list = $db->loadObjectList(); return $list; } }
Соответственно нужно изменить макет вывода, так как туда будет попадать уже объект, а не переменная.
tmpl/default.php
/** * @package Joomla.Tutorials * @subpackage Module * @copyright (C) 2012 http://jomla-code.ru * @license License GNU General Public License version 2 or later; see LICENSE.txt */ // No direct access. defined('_JEXEC') or die('(@)|(@)'); ?> <ul> <?php foreach ($list as $item) { echo '<li>'.$item->title.'</li>'; } ?> </ul>
15
Комментарии
19.05.2012 12:55
19.12.2012 19:47
16.10.2013 10:07
22.05.2014 17:08
Расжеванно быстро и просто!
11.07.2014 23:54
Я пытаюсь сделать вывод содержимого из другой таблицы, но у меня не выходит. Прошу помощи в подсказке. Например:
helper.php
class modHelloworldHelper
{
public static function getList(&$params)
{
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('title');
$query->from('#__menu');
$query->where('menutype = menu');
$query->order('RAND()');
$db->setQuery($query, 0, 3);
$list = $db->loadObjectList();
return $list;
}
}
mod_helloworld.php
// Подключаем файл помошника
require_once dirname(__FILE__).'/helper.php';
// Выполняем getList метод из помошника
$list = modHelloworldHelper::getList($params);
require JModuleHelper::getLayoutPath('mod_helloworld', $params->get('layout', 'default'));
05.09.2014 17:49
не
$query->where('menutype = menu');
а
$query->where('menutype = "menu"');
09.02.2015 10:30
09.02.2015 10:31
RSS лента комментариев этой записи