Comments (7)
@EMDM45 А если шаблон указывать с нижним подчеркиванием в названии?
Так {include 'template:template_name'}
from pdotools.
@EMDM45 А если шаблон указывать с нижним подчеркиванием в названии?
Так{include 'template:template_name'}
Без разницы. Даже если вообще одним словом написать. Всё равно хэш и runtime.
from pdotools.
Заметил, что хэш всегда один и тот же, даже если написать {$.tpl.name}
в чанках, которые внутри шаблона.
from pdotools.
Напомню ещё раз. Василий начал прикручивать Fenom в парадигме MODX. Т.е. затачивал его на элементы базы данных. Только позже он с моей подачи добавил возможность работы с файлами. Т.е. вместо того, чтобы с боку прикрутить работу с элементами из БД, он заставил феном работать с базой, а потом с боку прикрутил работу с файлами. Поэтому имеем то, что имеем.
// Должно было быть так
{include 'some/path/to/file.tpl'} - изначально работаем с файлом
{include 'db:chunk_name'} - для работы с базой добавляем модификатор
// А имеем так
{include 'file:some/path/to/file.tpl'} - для работы с файлом нужно добавить модификатор
{include 'chunk_name'} - без модификатора поиск элемента в базе данных
Я об это рассказывал когда объяснял разницу подходов в pdoTools и ZoomX.
П.С. Кстати, даже Коля Ланец в то время сделал свой компонент на шаблонизаторе Smarty подобным образом. Тогда никто не думал о файловых элементах.
from pdotools.
Поэтому имеем то, что имеем
Эт понятно. Просто, мне кажется, нужно либо из документации убрать информацию, либо исправить по возможности.
Сам я пока не разобрался из-за чего он выводит этот хэш и как всё исправить.
Даже если создать свой провайдер типа {include 'block:test'}
, то всё равно хэш лезет из $.tpl.name.
// Должно было быть так
{include 'some/path/to/file.tpl'} - изначально работаем с файлом
{include 'db:chunk_name'} - для работы с базой добавляем модификатор
// А имеем так
{include 'file:some/path/to/file.tpl'} - для работы с файлом нужно добавить модификатор
{include 'chunk_name'} - без модификатора поиск элемента в базе данных
Насколько смог разобраться и понять, там при создании экземпляра Fenom просто указывается провайдер по умолчанию:
$provider = new modChunkProvider($pdoTools);
parent::__construct($provider);
Т.е. это стандартная возможность Fenom. В итоге Fenom по умолчанию работает с базой и чанками.
А проблема судя по всему где-то в файлах pdoparser.php
или pdotools.php
, которые и передают этот хэш Феному. И, как я понял, хэш в названии нужен либо когда "@inline чанки", т.е. без названия, либо для создания кэша средствами modx.
runtime
- это значение по умолчанию у фенома в файле Render.php, видимо поэтому $.tpl.basename и выводит его, т.к. другого не задано...
from pdotools.
Даже если создать свой провайдер типа
{include 'block:test'}
, то всё равно хэш лезет из $.tpl.name.
А самое главное с моим провайдером block Феном отрабатывает всё отлично! Значит он правильно распознает basename (в данном случае - это test)! ! Но именно в массив {$.tpl} откуда-то попадает хэш и runtime...
from pdotools.
Вообщем, либо я не правильно понимаю как должен отрабатываться массив {$.tpl}, либо он работает действительно не правильно. Возможно он и должен брать данные именно от шаблона (от родителя), а не от каждого чанка. А так как у нас первым идёт шаблон modx из базы, соответственно он и берёт хэш.
from pdotools.
Related Issues (20)
- pdoPage: Undefined variable $showLog HOT 3
- (ERROR @ /home/s30946/www/core/components/pdotools/model/pdotools/pdotools.class.php : 999) Unexpected token 'match' in expression
- MODX Revolution 3.0.2 + pdoTools 3.0.1 / showLog doesn't work
- &outputSeparator + ajax technology don't work correctly
- Fatal error при включенной опции pdotools_fenom_cache
- issue with pdoPage snippet of pdoTools component
- Return an array of raw data (it is necessary when using the Fenom template engine). HOT 1
- includeContent doesn't work when not logged in [pdoResources]
- pdoCrumbs issue
- pdoResources ломается, если нет поля для сортировки
- pdoMenu - active class not set correctly with weblinks
- Incorrect Friendly URLs with pagination when using pdoPage
- The showLog change has to be documented somewhere
- Bug PHP 8 pdoResources snippet with property 'toSeparatePlaceholders' in combination with pdoPage HOT 1
- Добавить параметр &limitOnPage для pdoPage
- pdoMenu не возвращает данные по параметрам
- Fatal error: Allowed memory
- >=php 8.3 - decrement on type null
- Static Plugins trigger pdoToolsOnFenomInit even if not defined as their Event
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pdotools.