Pathologic
и с удалением папки тоже может с небольшой вероятностью получиться косяк ((:
Pathologic
я как-то видел что там размещали модули
Ilya
я как-то видел что там размещали модули
да, все бывает, ну в общем я инфу скинул, там думайте =) Ругается sweb
Modweb
hello, does anyone know why @B_CODE: or @B_FILE doesnt work with Multifields ?
Aliaksandr
Ага, сначали учили делать конфиг.мутатор, а теперь учат удалять папку)
Modweb
only @CODE 😕
Modweb
but in @CODE i cant use @if or even [[if snippet 😕
Aliaksandr
because of some features of current mf-parser)
Modweb
so how i can use IF ?
Modweb
😄
Modweb
for example i have 2 parameters [+img+] and if 2 will set then i render some html code but if only one is set i render other html code with specific class for one element
Dmytro
[[DocLister? .... &extenders=changetpl]]
Dmytro
почему ничего не происходит?
Dmytro
ну тоесть, ессли взять код из example, то распечатки конфига тоже нету.... что я не так подключил?
Dmytro
Там черт ногу сломит в экстендерах) а какая задача?
да там все просто)) только подключить не получается) мне просто надо для определеных категорий менять tpl, хотел сделать модняво ))
Dmytro
prepare - это данные, а не шаблон)
Aliaksandr
$_DocLister->renderTPL=...
Aliaksandr
И твой нужный шаблон как в tpl
Dmytro
да это я понимаю, что так можно) мне надо поменять шаблон вывода в зависомсти от парента, 1 раз, а не каждый раз ево в prepare менять ))
Dmytro
в этом же вызове доклистера есть &e=fields, нормально работает, подключает значит екстендер е.... может и мне надо черкануть в вызов &changetpl=`` )))
Aliaksandr
потому что экстендер е инитится принудительно в классе доклистера )
Aliaksandr
также как и paginate и ряд других
Dmytro
ну єт тоже понятно)
Aliaksandr
а с теми, которые не в ядре - черт ногу сломит ))
Aliaksandr
вообще в классе $extenders = $this->getCFGDef('extender', ''); а не extenderS
Aliaksandr
но это не точно)
Dmytro
понятно)), проверю
Dmytro
не срослось ((( лана. позже проверю четам нетак)
Aliaksandr
просто судя по всему для того, чтобы сработал твой run, ему сначала надо где-то сделать init() и делается он в контроллере - но, возможно, где-то есть замаскированный обходной путь )
Volodymyr
не срослось ((( лана. позже проверю четам нетак)
Я всегда делаю себе контроллер, и наследуюсь от базового
Volodymyr
а так пинай Pathologic, не или открывай код и разбирайся как естендеры работают
Volodymyr
не срослось ((( лана. позже проверю четам нетак)
кстате, prepare лишний раз не стоит юзать там где не нужно, воно немного ресурсов отжирает, если там сниппет
Dmytro
если в prepare стоит сниппет, то это лажовый препаре))
Volodymyr
если в prepare стоит сниппет, то это лажовый препаре))
я имел ввиду если prepare еслиется сниппетом
Pathologic
Я всегда делаю себе контроллер, и наследуюсь от базового
вот это правильно, а не страдать херней
Aliaksandr
Под каждую особенность свой контроллер это путь в никуда:)
Aliaksandr
если в prepare стоит сниппет, то это лажовый препаре))
Чем плох препаре с пхптумб внутри)
Dmytro
пхптумб не всчет) это полезняшка))
Pathologic
ну лучше уж контроллер, чем пляски с api=1/json_decode или prepare со всякими getStore
Aliaksandr
Не знаю, мне идея контроллера ради подмены шаблона не заходит)
Aliaksandr
Потом будет сайт, где на каждой странице свой контроллер ради всякой мелочи
Aliaksandr
Захотел изменения внести и поплыл весь "солид"))
Pathologic
нормально, как раз в духе 2.0
Volodymyr
Не мне кажется нет особой разницы между prepare и екстендером в деле подмены шаблона
Pathologic
экстендеры вроде как задумывались, что есть какой-то экстендер и его используют несколько контроллеров
Dmytro
Потом будет сайт, где на каждой странице свой контроллер ради всякой мелочи
Ну как бы логично если эта мелочь только тут Но тут нюанс что обычно делают так: - basecontroller и все остальные наследуют от него А можнг ж друг от друга наследовать - base -> news -> articles
Dmytro
И тогда получается все ок
Dmytro
А от подмены шаблона компонентов логично уходить тем что избавляться от шаблонов в компонентах
Aliaksandr
Хотя и с дванольными контроллерами есть мучения. Например, есть у меня списки разных товаров, и там к примеру список дочерних, список по тегам категорий, список производителя и т.п.
Aliaksandr
Это все разруливается в обертке доклистера парой строк в зависимости от шаблона документа, но приходится делать кучку пустых контроллеров и кучку пустых блейдошаблонов, просто чтоб работало
Aliaksandr
Т е я делаю один контроллер ProductList, а потом к нему кучу пустых наследников вроде Category, Brand, CategoryTag и т.п. по текущей логике, аналогично и по части блейда
Aliaksandr
Кстати, надо проверить, может там не нужен для каждого шаблона уникальный алиас
Aliaksandr
Как то странно можешь в личку показать
Ну не знаю, что странного. Если шаблоны к примеру категория, доп.категория и бренд, списки товаров и все остальное у них идентичное, просто добавляются к доклистеру разные фильтры или контроллеры)
Aliaksandr
Но за счет того, что сами шаблоны разные, то им и контроллер надо свой и шаблон в блейде
Dmytro
Аа понял ну да Но зато ясно куда лесть и что от чего наследуется
Dmytro
С шаблонами и раньше так было просто вызов доклистера выносили в чанк
Dmytro
Aliaksandr
Я просто подумал, насколько целесообразно вообще иметь этот уникальный алиас у шаблона, если он нам нужен только для подключения контроллера и файла блейда
Aliaksandr
Не могу пока с телефона проверить, может он и не уникальный:)
Dmytro
Уникальный и логично что уникальный шаблон то уникальный
Dmytro
В рамках ево по другому сложно Вернее уже придумали как но это ломает всю обратную совместимость Суть что б были отдельно шаблоны и отдельно наборы ТВ Тогда можно разруливать
Dmytro
чет не намутил я с екстендером, сделал через контроллер))
Aliaksandr
Так через несколько лет и до инфоблоков доживём:)
Aliaksandr
И что в том контроллере? Иф документобджект(парент)=5 ... ?))
Dmytro
А говорил - легко)
ну в дитто екстендеры подключались нормас, а тут не зашло))
Dmytro
Aliaksandr
Насоветовали, называется...:-)))
Dmytro
ну екстендер тоже так бы выглядел ))
Aliaksandr
А обертку доклистера нельзя было просто сделать?))
Dmytro
можно))