Возможно ли создать собственную семантическую разметку «<что-то> </ что-то>» для вашего движка шаблонов в PHP?

0

Я был бы очень признателен, если бы кто-нибудь мог мне помочь в этом вопросе :)

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

Позвольте мне разъяснить вам, ребята, о том, что я имею в виду;

Я работаю над своей собственной CMS, чтобы не использовать ее в производственных целях, но лучше изучать PHP; Поэтому у меня возникла идея называть определенные модули на странице на основе их положения и для того, чтобы иметь возможность делать;

Например, у нас есть модуль входа в систему, который является просто формой входа в систему, ничто не слишком сумасшедшим, однако вы хотите, чтобы он мог динамически включать этот модуль на любую страницу, использующую бэкэнд, и не касаясь какого-либо кода;

Таким образом, все, что вы делаете на странице шаблона, использует мои коды bb, о которых я вам говорил ранее; Что-то вроде этого;

Помните, что это только идея;

<zone name="left_sidebar"></zone>

И вы добавляете эту разметку зоны на свою боковую панель, и если какой-либо из вашего модуля должен отображаться на левой боковой панели, он просто будет иметь эту разметку и не более того...

И у вас есть множество этих семантических разметок, основанных на том, сколько редактируемых блоков у вас на вашей странице; так что у вас может быть одна для правой боковой панели, одна для нижнего колонтитула и одна для заголовка... и т.д.

Поэтому мне теперь нужно знать, как можно искать открывающие и закрывающие теги, в этом случае это будет <zone></zone>, тогда ему нужно искать его атрибут и его значение, в этом случае name="right_sidevar"....

У кого-нибудь есть представление о том, как я могу это сделать...

Заранее спасибо :)

  • 1
    Вы уже видели Polymer ( Polymer-Project.org )?
  • 0
    Нет, приятель :( но я сделаю это сейчас :) Спасибо
Показать ещё 1 комментарий
Теги:

2 ответа

1
Лучший ответ

Вы можете проверить TWIG; в то время как он не поддерживает эту функцию (поскольку он использует специальный синтаксис для своих собственных элементов), он имеет очень хорошую поддержку для создания собственных элементов, тегов, подзапросов и других фанковых элементов в бэкэнд.

http://twig.sensiolabs.org/

Существует также ряд систем, которые выполняют эту задачу в интерфейсе; это означало бы, что подстановка выполняется Javascript в браузере. В дополнение к уже упомянутому Полимеру есть также Google framework, Angular.

https://angularjs.org/

  • 0
    Спасибо за предложения, к сожалению, интерфейсное решение нельзя рассматривать как 1) недостаточно безопасное, 2) что, если js не был включен ... также всегда полезно оставлять интерфейсные компоненты подальше от задней части. -конец, как я уверен, у вас возникли проблемы где-то внизу ... Thx
  • 1
    Имейте в виду, что TWIG не фронтэнд. Вы должны действительно изучить это, оно может выполнить то, что вы хотите, хотя это может выглядеть немного иначе, чем вы ожидаете прямо сейчас.
Показать ещё 1 комментарий
1

Возможно, вы можете использовать модуль php libxml для анализа вашего XML файла.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню