MODx Evo: Как назначить предопределенные заполнители для шаблона?

Я загружаю заголовок HTML каждой страницы из одного общего фрагмента. Существуют различные типы шаблонов, например. Сайт или статья в блоге. Тем не менее, может быть несколько разных шаблонов, как для статей, так и для веб-сайтов. Поэтому я хотел бы добавить к каждому шаблону какую-то константу, которая заполняет заполнитель в заголовке HTML, который будет выглядеть так:

<meta property="og:type" content="[*myplaceholder*]" />

и будет создавать в зависимости от «константы», назначенной шаблону, например

<meta property="og:type" content="website" />

or

<meta property="og:type" content="article" />

.

Я стараюсь не использовать обычную настройку переменных шаблона. Я мог бы сделать это и использовать ManaerManager, чтобы манипулировать ими и скрывать их. Но я на самом деле ищу более чистое решение. Может быть только в PHP.

Есть идеи?


person hm.    schedule 25.04.2013    source источник


Ответы (1)


Я делаю такую ​​замену со своими модулями внутри шаблонов, используя PHP (это значительно упрощается, и я не использую MODx Evo...). Сначала я ищу в файле символы замены, а затем делаю простую замену:

<?php
if ( strstr($current_content, '[*myplaceholder*]') !== false ) {
   $replaced_content = str_replace('[*myplaceholder*]', 'website', $current_content);
}
?>

То, чем вы его замените, будет зависеть от того, что вы пытаетесь сделать, но, надеюсь, вы поняли общую идею.

person Revent    schedule 25.04.2013
comment
MODx поставляется с классной системой шаблонов и переменных шаблонов, и я хотел бы подключиться к этому. Я использую ту же технику, что и ваша, когда пишу для нее плагины, которые извлекают фрагменты с заполнителями. Но, может быть, я могу пойти куда-нибудь в этом направлении. я должен думать о том, будет ли это работать. - person hm.; 26.04.2013