【问题标题】:Joomla 4 form field to select existing joomla articleJoomla 4 表单域选择现有的 joomla 文章
【发布时间】:2022-06-10 23:20:17
【问题描述】:

我正在寻找一种在我的模板中包含印记和隐私文章的方法。我在模板中使用标准 xml 文件。现有的Joomla standard form field types 似乎没有提供解决方案。

如果你想在菜单中链接一篇文章,你已经可以这样做了。

这也可以在模板中完成吗?比如这个例子。

<field name="linktomyarticle" type="article" label="Select a article" description="link to privacy article" />

如果我能从 Joomla 获得正确的 URL,我会很高兴。还是有其他方法可以做到这一点?

【问题讨论】:

  • 您可以尝试在Joomla Stack Exchange 上提问。

标签: xml templates joomla


【解决方案1】:

我找到了一个解决方案,并将其发布在这里,以防其他人正在寻找它。可能会有一种更快的方法,但这个方法对我有用。

添加到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>';
    }
}
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    • 2016-10-01
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多