Я пытаюсь научиться Coldbox, возможно, заменить текущую платформу, которую я использую. Одной из функций, которые я сейчас использую, является возможность переопределения любого из включений шаблона по соглашению.
По сути, допустим, у меня есть представление, "views / home.cfm"
<h1>I am the default theme</h1>
и это все хорошо. Но допустим, что у меня другое представление: "themes / [theme-name] /views/home.cfm"
<h1>I am the user chosen theme</h1>
, который я хочу включить условно (скажем, есть cookie, чтобы определить, какая тема используется). Кроме того, если файл не существует, следует отобразить представление по умолчанию / отступление.
Есть ли способ сделать это, переопределяя системные функции?
Я посмотрел на перехватчики, и перехватчики preViewRender и postViewRender выглядят как место, где можно сделать что-то подобное, но, похоже, нет никакого способа манипулировать реальным рабочим процессом. Если кажется, что в основном до / после обработки контента. Например, кажется, что не существует способа «вернуть false», чтобы сказать, что метод renderView на самом деле не отображает представление. Или каким-либо образом повлиять на местоположение, в котором можно найти представление.
Есть идеи?