2013-03-14 3 views
1

Быстрые вопросы: есть ли возможность переопределить один из внутренних контроллеров в Joomla 2.5 ??? Предположим, я хочу переопределить контроллер исходной статьи компонента com_content.backend controller override joomla 2.5

сценарий ...

в дополнении к обычным атрибутам статьи, я хочу, чтобы хранить некоторые дополнительные атрибуты coresponding к каждой статье. Эти атрибуты будут храниться в другой таблице, так как у меня есть от 1 до многих отношений между article и new_attributes. С этой целью я добавил новые поля в группу метаданных свойств статьи, написав свой собственный плагин. Теперь я хочу, чтобы эти новые добавленные поля сохранялись в отдельной таблице с текущим идентификатором статьи, связанным с каждой записью этого new_attribute.

Надеюсь, этого достаточно, чтобы определить сценарий.

ответ

1

Core Hack Вы, безусловно, можете это сделать. Но вы обнаружите, что после каждого обновления Joomla ваши изменения будут перезаписаны.

Override http://extensions.joomla.org/extensions/style-a-design/templating/15611 < < Этот плагин позволяет здесь 'подмену' ядра Joomla. Однако будьте осторожны, так как это третья сторона! У Joomla нет ничего изначально, чтобы поддержать это. Но обратите внимание, что это вариант для кого-то, над которым нужно работать для google summer of code 2013

+1

то это не переопределение, а хакерский хакер –

+0

да, точно ... I w ant override ... –

+0

Apolgies.Ответ Обновлен. –

1

Вы очень расплывчаты относительно того, что вы хотите сделать, поэтому наши ответы также будут очень общими. Прежде всего, проверьте или объясните, нужно ли переопределить контроллер (это довольно необычно).

Как насчет создания нового контроллера - просмотр в com_content?

+0

Я добавил более подробные сведения к моему вопросу ... спасибо :) –

+0

@ValentinDespa это должен быть комментарий :) –

+0

@MarkoD согласен, но он открыт для улучшений :) –

1

Недавно я должен был бороться с этим. Вы можете написать простой плагин, как объясняется here (в основном с помощью JLoader::register() для загрузки вашего класса).

НО, как говорится в статье:

Этот метод может быть использован, чтобы переопределить большинство основных классов Joomla, для тех, которые уже загружены до того, как система плагинов импортируются только.

Если класс еще не загружен я предлагаю вам посетить мою тяговую запросу on github и

библиотеки изменения/loader.php на линии 150 с

self::register(strtolower($class), $base . '/' . $path . '.php',false); 

Затем, если вы нашел, что полезно, повысьте, что pullrequest, чтобы мой взлом стал стандартным Joomla, и мы можем переопределить то, что нам нужно