![](/img/trans.png)
[英]Custom Field of plugin does not update the value when assigned in Joomla Article
[英]Joomla 4 form field to select existing joomla article
我正在寻找一种在我的模板中包含印记和隐私文章的方法。 我在模板中使用标准 xml 文件。 现有的Joomla 标准表单字段类型似乎没有提供解决方案。
如果你想在菜单中链接一篇文章,你已经可以这样做了。
这也可以在模板中完成吗? 像这个例子。
<field name="linktomyarticle" type="article" label="Select a article" description="link to privacy article" />
如果我能从 Joomla 获得正确的 URL,我会很高兴。 还是有其他方法可以做到这一点?
我找到了一个解决方案,并将其发布在这里,以防其他人正在寻找它。 可能会有一种更快的方法,但这对我有用。
添加到 templateDetails.xml:
<field
name="Datenschutzbeitrag"
type="sql"
default="10"
label="Datenschutzbeitrag auswählen"
query="SELECT id, title As Datenschutzbeitrag FROM #__content"
key_field="id"
/>
在 index.php 中你现在可以得到如下代码:
$this->params->get('Datenschutzbeitrag')`
该字符串包含所选文章的文章 ID。 我现在编写了一个函数,它返回一个正确的 seo 优化的 Joomla 路径。
调用函数:
<?php echo druckfenstertools::gibLinkvonID($this->params->get('Datenschutzbeitrag')); ?>
php函数:
<?php defined( '_JEXEC' ) or die;
use Joomla\CMS\Router\Route;
use Joomla\CMS\Factory;
class druckfenstertools {
public static function gibLinkvonID($ArtikelID)
{
$db = Factory::getDbo();
$query = $db->getQuery(true);
// Abfage erstellen für die ID
$query->select($db->quoteName(array('id','title','catid')));
$query->from($db->quoteName('#__content'));
$query->where('id = ' . $db->quote($ArtikelID));
// Query erzeugen
$db->setQuery($query);
$LinkObjekt = $db->loadObject();
return '<a href="' . Route::_('index.php?option=com_content&view=article&catid=' . $LinkObjekt->catid . '&id='.$LinkObjekt->id,true) . '" title="' . $LinkObjekt->title . ' öffnen">' . $LinkObjekt->title . '</a>';
}
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.