gpt4 book ai didi

php - joomla 组件不会获取新的数据库项目

转载 作者:行者123 更新时间:2023-11-29 21:50:05 30 4
gpt4 key购买 nike

我在 https://www.component-creator.com 的帮助下在 joomla 中制作了一个下载中心组件到目前为止一切正常。该组件似乎不想显示数据库中超过 21 个项目,这很奇怪,因为我数据库中有 24 个项目。

该组件使用两个表。一个用于主题,一个用于下载,然后有一个与其连接的主题的 ID。

因为有很多代码我已经把它放在github上了: https://github.com/strookers/com_dlcenter

这是模型层的代码:

public function getEmner()
{
$emner = parent::getItems();

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query
->select($db->quoteName(array('id', 'ordering', 'state', 'checked_out', 'checked_out_time', 'created_by', 'title')))
->from('`#__dlcenter_emne`')
->order('ordering ASC');
$db->setQuery($query);
$emner = $db->loadObjectList();

return $emner;
}

public function getDownloads()
{
$downloads = parent::getItems();
foreach($downloads as $item){


if (isset($item->emneid) && $item->emneid != '') {
if(is_object($item->emneid)){
$item->emneid = JArrayHelper::fromObject($item->emneid);
}
$values = (is_array($item->emneid)) ? $item->emneid : explode(',',$item->emneid);

$textValue = array();
foreach ($values as $value){
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query
->select($db->quoteName('title'))
->from('`#__dlcenter_emne`')
->where($db->quoteName('id') . ' = ' . $db->quote($db->escape($value)));
$db->setQuery($query);
$results = $db->loadObject();
if ($results) {
$textValue[] = $results->title;
}
}

$item->emneid = !empty($textValue) ? implode(', ', $textValue) : $item->emneid;

}
}

return $downloads;
}

这是来自 View 层:

<div class="neaccordion nevertical">
<?php foreach ($this->emner as $i => $emne) : ?>
<section id="<?php echo $emne->title; ?>">
<h3><a href="#<?php echo $emne->title; ?>"><?php echo $emne->title; ?></a></h3>
<table class="table table-striped" id = "downloadList" ><tbody>
<?php foreach ($this->downloads as $i => $download) : ?>
<?php
if($download->emneid == $emne->title) :?>

<tr>
<td style="text-align: left; padding: 0px 0px 0px 10px; vertical-align: middle;">
<h4><?php echo $download->titel; ?></h4>
</td>
<td style="text-align: right; padding: 0px 10px 0px 0px; vertical-align: middle;">
<?php
if (!empty($download->download)):
$uploadPath = 'administrator' . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_dlcenter' . DIRECTORY_SEPARATOR . 'images/nordelektro/dlcenter' .DIRECTORY_SEPARATOR . $download->download;
echo '<a href="' . JRoute::_(JUri::base() . $uploadPath, false) . '" class="readmore" target="_blank" title="Hent fil" style="color: #fff;">Download</a>';
else:
echo $download->download;
endif; ?>
</td>
</tr>

<?php endif; ?>
<?php endforeach;?>
</tbody></table>
</section>
<?php endforeach;?>
</div>

这是数据库的一些图像:

Table for Subject

Table for Downloads

我不知道问题出在哪里,因为它在第 22 项之前工作正常。它似乎输出了数据库中的每个项目,除了第 21 项之后的项目。

如果需要更多信息,请询问。

最佳答案

从顶部看,您似乎在分页或组件过滤方面遇到了问题。我假设您在超过大约 20 个项目后就看不到分页了。 (您的数据库显示一项处于已废弃状态,您的全局设置可能设置为 20 项,因为您所看到的就是这些)

这可能是您的组件存在问题,或者是您的 Joomla 全局设置存在问题。

如果这不是您的 Joomla 全局设置,请与组件创建者核实,他们通常对产品中的问题 react 良好。

关于php - joomla 组件不会获取新的数据库项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33730453/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com