2013-05-31 3 views
0

Я работаю над сайтом Joomla 2.5. Цель состоит в том, чтобы дать авторам простой способ вывода списка категорий при редактировании статьи.Joomla replace String в содержании статьи с кодом PHP

Для этого я написал небольшой PHP скрипт, который querys Нужного содержимого из 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 />"; 
    } 

... 

Сценарий занимает год, как вход и использует его в качестве $ ид. Теперь я ищу способ легко интегрировать это в редактор статей joomlas. Великий если бы авторы могли вставить что-то вроде

###2011### 

, который затем преобразуется в:

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

когда изделие визуализируется. Я думал, что могу сделать переопределение com_content. Но не нашел хорошего места для поиска и замены внутри контента.

спасибо за помощь,

tbook

ответ

2

Вы должны смотреть на плагинов контента и, может быть, редакторы XTD плагинов.

Плагин содержания обнаружит специальную разметку, которую вы положили в статью, и сделайте все, что вам нужно, чтобы сделать с ней. Это ваш весь код сценария должен войти в этот плагин, а не в require_once. Обычно разметка плагина использует { и }, но вы можете использовать все, что хотите. Вы просто создаете правильный REGEX для его обнаружения.

Если это работает, вы также можете посмотреть плагин editors-xtd. Затем вы создадите кнопку под редактором, которая позволяет вашим авторам вводить разметку в редактор.

Для примера вы можете посмотреть один из более простых существующих плагинов.

+0

Спасибо! это помогло. Было непросто написать небольшой контент-плагин, который выполняет эту работу. Я буду искать расширение кнопки, чтобы авторы могли добавить необходимый тег. –

 Смежные вопросы

  • Нет связанных вопросов^_^