在 joomla 2.5 中是否有任何内置函数可以从特定类别中获取所有文章。我不想使用自定义查询从数据库中获取文章。
问问题
6088 次
5 回答
4
我会使用文章模型
JLoader::import('joomla.application.component.model');
JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_content/models', 'ContentModel');
$model = JModelLegacy::getInstance('Articles', 'ContentModel');
$model->getState();
$model->setState('list.limit', 10);
$articles = $model->getItems();
于 2013-10-08T12:03:07.540 回答
3
我不确定您如何设置滑块,但要回答您的实际问题:
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from($db->quoteName('#__content'))
->where($db->quoteName('catid') . ' = 2');
$db->setQuery($query);
$rows = $db->loadObjectList();
foreach ( $rows as $row ) {
echo $row->introtext;
}
有一个使用 route.php 获取文章的内置函数我相信这是 Accordions 之类的使用等等,但是对于最简单的方法,使用上面的方法。
注意:不要忘记将catid
值从更改为2
适合您需要的值。
希望这可以帮助
于 2013-10-08T08:13:16.193 回答
1
我创建了一个小函数来获取类别并返回所有带有自定义字段的文章
function getArticlesByCategory($categoryId, $limit = "")
{
if (is_int($limit) && !empty($limit)) {
$limit = "LIMIT $limit";
}
$articles = JFactory::getDBO()->setQuery('
SELECT
C.*,
CONCAT(
"{",
GROUP_CONCAT(CONCAT(\'"\',F.name,\'"\', ":",\'"\',V.value,\'"\')),
"}"
) AS \'additional_fields\'
FROM
#__content AS C
LEFT JOIN #__fields_values AS V
ON
V.item_id = C.id
LEFT JOIN #__fields AS F
ON
F.id = V.field_id
WHERE
C.catid = \'' . $categoryId . '\' AND F.context = "com_content.article"
GROUP BY
C.id ' . $limit
)->loadObjectList();
if($articles){
foreach ($articles as $article) {
$article->additional_fields = json_decode($article->additional_fields);
}
}
return $articles;
}
用法
$categoryId = 9;
$limit = 4;
getArticlesByCategory(9,2);
在Joomla上测试!3.8.11
我不喜欢这样的解决方案,但是 Joomla! 让我这样做。
于 2018-08-06T20:03:47.237 回答
0
如果您正在创建一个模块,您可以只创建一个具有文章类别类型的模块。然后,在右侧,单击过滤选项,然后在此处选择要显示的类别。
于 2013-10-09T06:37:47.213 回答
0
看看这个:/modules/mod_articles_category 一个完整的(而且相当慢的)实现。您可能想让它更简单:
选择 introtext, params from #__content where catid=%s AND state=1 AND ...
(您可能希望在 publish_up 字段等上添加一些检查,但如果您对管理已发布/未发布并且不使用 publish_up / down 感到满意,则不需要这样做)。
确保您正确实现模块以利用 Joomla 缓存,即使此查询很快,最好避免即兴重复。 阅读本文以获取有关模块缓存的更多详细信息
于 2013-10-08T07:48:06.130 回答