我找到了一个解决方案,并将其发布在这里,以防其他人正在寻找它。可能会有一种更快的方法,但这个方法对我有用。
添加到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(array($db->quoteName('id'),$db->quoteName('title'),$db->quoteName('catid')));
$query->from($db->quoteName('#__content'));
$query->where('id = "' . $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>';
}
}
?>