【问题标题】:Joomla replace String in article content with PHP CodeJoomla 用 PHP 代码替换文章内容中的字符串
【发布时间】:2013-05-31 08:25:21
【问题描述】:

我正在开发一个 Joomla 2.5 网站。目标是为作者提供一种在编辑文章时输出类别列表的简单方法。

为此,我编写了一个小的 PHP 脚本,它从 Db 中查询所需的内容:

switch ($year) {
    case "2009":
        $id = "42";
        break;

 ...

 $db->setQuery('
  SELECT 
    #__categories.title
  FROM 
    #__categories 
  WHERE 
    #__categories.parent_id =' . $id .'
  ORDER BY #__categories.title ASC
    '
   ); 

$winners = $db->loadObjectList(); 

foreach($winners as $gewinner){
    echo $gewinner->title . "<br />";
    }

...

脚本需要一年作为输入并将其用作 $id。 我现在正在寻找一种方法来轻松地将其集成到 joomlas 文章编辑器中。如果作者可以插入类似的东西,那就太好了

 ###2011### 

然后转换为:

<?php
require_once '/homepages/16/d60007267/htdocs/content/testpage/templates/test/winners.php?j=2009';  
?>

当文章被渲染时。我想我可以做一个 com_content 覆盖。但是还没有找到在内容中搜索和替换的好点。

感谢您的帮助,

【问题讨论】:

    标签: joomla overriding article


    【解决方案1】:

    您必须查看内容插件,也许还有 editors-xtd 插件。

    内容插件会检测您在文章中添加的特殊标记,并根据您的需要执行任何操作。那就是你的整个脚本代码应该进入这个插件,而不是 require_once 的东西。通常插件标记使用{},但你可以使用任何你想要的。您只需创建一个适当的正则表达式供它检测。

    如果可行,您还可以查看 editors-xtd 插件。然后,这将在编辑器下方创建一个按钮,允许您的作者将标记输入到编辑器中。

    例如,您可以查看一个更简单的现有插件。

    【讨论】:

    • 谢谢!这有帮助。编写一个完成这项工作的小内容插件并不难。我会寻找一个按钮扩展来帮助作者添加所需的标签。
    猜你喜欢
    • 1970-01-01
    • 2014-01-18
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 2013-05-01
    • 2016-11-30
    相关资源
    最近更新 更多