Правильный способ добавления атрибутов в HTML-тег страницы Joomla?

Я использую AngularJS, чтобы добавить некоторые более продвинутые функции в некоторые из моих статей Joomla. На этих страницах мне нужно добавить атрибут ng-app в тег <HTML> на моей странице. В настоящее время обычный HTML-тег для моих страниц Joomla (v3.3) выглядит следующим образом:

<html prefix = "og: http://ogp.me/ns#" xml: lang = "en-gb" lang = "en-gb">

, и мне нужно, чтобы он выглядел так:

<html prefix = "og: http://ogp.me/ns#" xml: lang = "en-gb" lang = "en-gb" ng-app = "dataManager">

Это должно быть немного динамическим, поскольку различным страницам может понадобиться другая директива ng-app. Есть ли способ сделать это в Joomla?

В настоящее время я импортирую AngularJS, используя следующее:

& л;? PHP
    $ document = JFactory :: getDocument ();
    $ urlAngular = "http://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.min.js";
    $ Document- > addScript ($ urlAngular);
? >

Спасибо за любую помощь, которую вы можете дать.

10 голосов | спросил drobertson 10 AM00000050000001031 2014, 05:41:10

2 ответа


4

Вы можете создать плагин system следующим образом:

класс plgSystemAddAttr расширяет JPlugin
{
    публичная функция onAfterRender ()
    {
        $ document = JFactory :: getApplication ();
        $ htmlString = $ document-> getBody ();

        $ dom = новый DOMDocument ();
        libxml_use_internal_errors (истина);
        $ Dom- > loadHTML ($ HTMLString);
        libxml_use_internal_errors (ложный);
        $ htmlTag = $ dom-> getElementsByTagName ('html') -> item (0);

        $ domAttribute = $ dom-> createAttribute ('ng-app');
        $ domAttribute-> value = 'dataManager';
        $ HtmlTag- > AppendChild ($ domAttribute);

        $ Document- > setBody ($ dom- > saveHtml ());
    }
}
ответил Farahmand 10 PM00000030000002731 2014, 15:02:27
1

Вы можете использовать PHP для добавления динамического содержимого в атрибут ng-app.

В файле \ templates \ yourtemplate \ index.php измените

<html prefix = "og: http://ogp.me/ns#" xml: lang = "en-gb" lang = "en-gb" ng-app = "dataManager">

к

& л;? PHP
если (условие) {
   $ ngapp = "dataManager";
} else {
   $ ngapp = "somethingElse";
}
? >
<html prefix = "og: http://ogp.me/ns#" xml: lang = "en-gb" lang = "en-gb" ng-app = "<? php echo $ ngapp?> «>
ответил johanpw 10 AM00000060000000931 2014, 06:45:09

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132