Темы/Шаблоны

Получаем ответы на свои вопросы по Yii 3
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Темы/Шаблоны

Сообщение SergV »

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

Просьба не кидаться "тухлыми помидорами", так как по мне довольно странно и смешно наблюдать, когда на форуме программисты рассуждают про поддержку стандартов, но при этом строят свои велосипеды в плане построения тем/шаблонов, усложняя потом жизнь простым верстальщикам-дизайнерам, которым придётся разбираться с этим велосипедом. ;)
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Темы/Шаблоны

Сообщение samdark »

Немного не понял про стандартно/не стандартно. Поясните.
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: Темы/Шаблоны

Сообщение SergV »

Стандартно, это структура построения темы/шаблона, то есть как делаются хтмл шаблоны/темы, а именно индексный файл в корне темы, а не в themename/wiews, и из него потом подключается то что лежит в корне..., то есть задом на перёд.
Я исхожу из простого упрощение "жизни", если я скажем имею готовый хтмл шаблон, то мне проще оставить его структуру как есть, а не менять местами, переделывая имена файлов и структуры всего шаблона.
Для примера так делается в Joomla и некоторых других движках. То есть основную вёрстку я делаю в индексном файле что в корне шаблона, а уже из него я подключаю что там требуется, скажем из той же папки views(html)/modules/default/...

Суть не в том что в конфиге это сложно переопределить, я так и делаю, подгоняя под стандарт, что бы облегчить работу себе и другим верстальщикам, которые потом будут с этим шаблоном/темой заниматься, если я отойду от дел. Когда структура темы построена по стандарту, не надо долго голову ломать, где и в каких файлах находится основная вёрстка сайта, а где лежит вёрстка модулей и т.д.. Те кто профессионально работает с сайтами на разных движках, знает эту проблему велосипедных тем, чего стоит только вордпрес, где основной файл режут на 3 части что бы потом приинклюдить их вместе, и потом ещё лепят десяток других файлов в корне с вёрсткой остального. Просто если сразу сделать поддержку тем по структуре как хтмл шаблоны строятся, это уберёт лишнюю работу всем, включая и разработчикам сайта...

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

Но это конечно дело хозяйское, если нет, то нет, я просто предложил, главное тогда не убирайте то что было...
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Темы/Шаблоны

Сообщение yiiliveext »

Мда, объясняете вы просто зверски. Талант :lol:
Стандарт построения хтмл шаблонов это как? Где можно почитать о стандарте?
Никогда никакого неудобства по натягиванию верстки не испытывал. Бывают моменты, когда верстальщик не учитывает, что это динамический контент, но то мелочи, можно переделать)
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: Темы/Шаблоны

Сообщение SergV »

Мда, объясняете вы просто зверски. Талант
Я не писатель, я читатель, объяснять в 2-х словах не умею, так что снизу опять зверская портянка... :D
Стандарт построения хтмл шаблонов это как? Где можно почитать о стандарте?
Открываем любой хтмл шаблон, и смотрим стандарт. Хтмл шаблоны, что и хтмл сайты, строятся одинаково, индексный файл в корне, плюс три категории под ресурсы... Чего там ещё читать, это и есть хтмл стандарт шаблонов.
Никогда никакого неудобства по натягиванию верстки не испытывал. Бывают моменты, когда верстальщик не учитывает, что это динамический контент, но то мелочи, можно переделать)
А мне вот в лом менять структуру, перекидывать основной индексный файл в отдельную категорию, что бы потом из него подключать другие файлы, и прочие танцы с бубном.
И структура шаблона/темы не какой роли не играет для динамического сайта, Joomla тоже двиг для динамического контента, но использует структуру шаблонов как и хтмл сайты. Что мешает файлы контроллеров/модулей и тд., кидать в отдельную категорию, вместо корня, или от этого сайт перестанет выдавать динамический контент? :shock:
По мне это вынос мозга, когда в корне темы куча файлов, которые можно структурировано раскидать по своим категориям, и потом удобно искать что надо, а не прокручивать партянку в поиске нужного файла. Хороший пример такого мазохизма, это темы под вордпрес, встречаются такие, где до сотни файлов свалены в корне темы, и в этих файлах зачастую 1-2 строчки кода... Проще застрелиться, чем разобраться что к чему, если нужно что поправить в этой, выбранной клиентом теме.

Я сайтами с 2004 года занимаюсь, и владею как программирование(хоть и не профи), так и вёрсткой с дизайном. Так что знаю как и что строится на определённом уровне(строил свои велосипеды-движки раньше), мне не надо объяснять про верстальщиков-дизайнеров, которые не фига не понимают типа в "картофельных огрызках".
Да есть чисто верстальщики, которые дальше вёрстки не лезут, они сделали хтмл шаблон, и отдали программисту, а он должен уже натягивать это на сайт. Но, скажите мне зачем потом брать этот хтмл шаблон, и все переделывать, резать вёрстку на куски, и раскидывать её по своей структуре темы, это что, такой способ мазохизма над собой? Не проще ли взять как есть, переименовать index.html в index.php, и вставить в него позиции для вывода контента, а сам контент уже как надо сверстать в отдельной категории, отдельными файлами под тему, или оставить во вьюхах без выноса в тему?

Ну и, я же не предлагаю 100% сделать так и не иначе, я предложил просто поменять немного, что бы по умолчанию было как хтмл шаблоны, а кому нравится выворачивать тельняшку на изнанку, могут в конфиге переопределить по старому... По мне это логично! ИМХО!
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Темы/Шаблоны

Сообщение yiiliveext »

SergV писал(а): 2019.10.09, 13:52 Открываем любой хтмл шаблон, и смотрим стандарт. Хтмл шаблоны, что и хтмл сайты, строятся одинаково, индексный файл в корне, плюс три категории под ресурсы... Чего там ещё читать, это и есть хтмл стандарт шаблонов.
Киньте в меня ссылкой в такой шаблон (многостраничный).
Не проще ли взять как есть, переименовать index.html в index.php, и вставить в него позиции для вывода контента, а сам контент уже как надо сверстать в отдельной категории, отдельными файлами под тему, или оставить во вьюхах без выноса в тему?
Именно так и делается, только index.html переименовывается в layout/main.php, а верстка страниц(контента) структурирована по папкам с названием контроллеров. Все абсолютно четко и понятно.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Темы/Шаблоны

Сообщение samdark »

ПС. Также надеюсь в 3-й версии не будет обязательного использование шаблонизаторов, это тоже по мне лишний геморрой и усложнение жизни верстальщикам-дизайнерам, что работают с разными движками, пхп сам по себе шаблонизатор, один раз пхп освоил на достаточном уровне, и хватит.
Да, можно использовать PHP. Это уже реализовано.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Темы/Шаблоны

Сообщение samdark »

Про шаблоны и структуру, если честно, не понял. Когда я зарабатывал вёрсткой (довольно давно уже), никакого стандарта не было. Так что требуются пояснения.
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: Темы/Шаблоны

Сообщение SergV »

Мда, не пойму чего тут не понятного?

Ладно, объясняю на пальцах:
ХТМЛ шаблон(тема, дизайн сайта) это как пример тут - https://github.com/adrianbautista/html-css-template, то есть index.html плюс 3 категории под стили, изображения и ява скрипты. Всё. Это как бы стандартная структура хтмл сайтов/тем/шаблонов...
В фреймворке "index.html", лежит зачем то по пути "layout/main.php"...

Но да ладно, если тут считают что это не надо, то пофиг, как уже писал, через конфиг не большая проблема под себя настроить структуру. Просто думал упростить жизнь верстальщикам-дизайнерам, которым возможно когда нибудь придётся столкнуться с вашими сайтами, в которых дизайны(темы/шаблоны) сделаны как кому взбредёт в голову, но видать у чисто прогеров своя логика - "делать так как им удобно, и нафиг тех кто потом будет дизайн править".

Тему можно закрыть... Жду релиза нового фреймворка, посмотрим что изменится, может смогу допилить свой двиг, готовые движки уже честно достали...
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Темы/Шаблоны

Сообщение yiiliveext »

SergV писал(а): 2019.10.09, 16:50 Мда, не пойму чего тут не понятного?

Ладно, объясняю на пальцах:
ХТМЛ шаблон(тема, дизайн сайта) это как пример тут - https://github.com/adrianbautista/html-css-template, то есть index.html плюс 3 категории под стили, изображения и ява скрипты. Всё. Это как бы стандартная структура хтмл сайтов/тем/шаблонов...
В фреймворке "index.html", лежит зачем то по пути "layout/main.php"...
Он лежит там по той причине, что лейаутов может быть много и удобнее сгруппировать в папку. Задайте в конфиге 'layout' => 'index' и 'layoutPath' => '@app/views' и будет вам в корне.
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: Темы/Шаблоны

Сообщение SergV »

Он лежит там по той причине, что лейаутов может быть много и удобнее сгруппировать в папку. Задайте в конфиге 'layout' => 'index' и 'layoutPath' => '@app/views' и будет вам в корне.
Походу вы мои посты не читали, я знаю как всё настраивать, и так и делал, поэтому и создал топик, так как считаю что для этого настраивать конфиг нет смысла, а надо это сделать по умолчанию.

Лейаутов конечно может быть иногда много, но это бессмысленно повторять одно и тоже, шапка и футер в 99% всегда одинаковая, и меняется лишь общая вёрстка контент части и подгружаемые ресурсы. Не вижу смысла из за очень редких случаев делать отдельные лейауты. Я лично делаю в редких случаях, отдельную папку и их там размещаю отдельные лейауты, если вёрстка ну сильно различается, но не общий файл, а конкретно вёрстку страницы для приложения, того же блога, портала или скажем шопа. Ресурсы могут подключаться отдельно для каждого приложения свои, какой смысл в дублировании лейаутов? В большинстве же своём, я всю вёрстку размещаю в главном лейауте, и те или иные блоки выводятся по условию для своих приложений, так проще, если вёрстка не сложная.
Но это конечно всё моё имхо, кому то наоборот возможно не сложно и в кайф, 100500 файлов сделать, и в каждом по строчке кода накидать, что бы потом всё это заинклюдить в основном файле... На вкус и цвет...
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Темы/Шаблоны

Сообщение samdark »

Хм... сходу нагуглил шаблонов:

- https://github.com/ColorlibHQ/gentelella
- https://github.com/designmodo/html-webs ... 20Template
- https://github.com/agragregra/optimized ... master/app
- https://github.com/website-templates/ma ... e-template
- https://github.com/h5bp/html5-boilerpla ... master/src

Все немного отличаются по структуре. Сколько себя помню, всегда каждый сам делали как нравится. Если действительно есть какой-то стандарт или соглашение, поделитесь ссылкой на него.
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: Темы/Шаблоны

Сообщение SergV »

samdark писал(а): 2019.10.09, 23:38Все немного отличаются по структуре.
Нет там не каких заметных отличий, иногда просто вместо отдельных категорий css|js|images используют assets где эти папки размещают, или их по другому называют, как в примере вместо css назвали sass, из за использования этого препроцессора.

Ладно, объясню по другому - посмотрите как делаются темы в популярных движках типа Joomla и других. Даже в вордпрес и там, с дибильной порезкой файлов на куски. принцип тот же.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Темы/Шаблоны

Сообщение samdark »

ОК. То есть:

- Перестать закидывать layout в соответствующую директорию и выкинуть его в views.
- Переименовать main.php в index.php.

Я верно понял?
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: Темы/Шаблоны

Сообщение SergV »

Да...
Вот, посмотрите тут - https://github.com/sniggle/joomla-boots ... bootstrap4
Это обычная простая тема под Joomla, если убрать там в корне пару специализированных файлов движка, как component.php и templateDetails.xml, то мы получаем структурированный шаблон/тему, где папка html(аналог views) содержит всю вёрстку модулей, плагинов и т.д., а в индексном файле в корне, сконцентрирована вся основная вёрстка сайта, в которой позициями подключаются приложения/модули/виджеты.

Именно к примеру так я и делал под свой двиг на фреймворке, и не каких проблем типа как тут писали - "когда верстальщик не учитывает, что это динамический контент" не будет. Всё остаётся как и есть в фреймворке, только структура расположения файлов немного изменится, но эта структура уже будет знакома всем верстальщикам, и не кто не будет материться задаваясь вопросом, в каком таком файле(ах) и в какой категории менять основной дизайн сайта, а где менять вёрстку приложений...
А если кому так нужно или привык к старому подходу, всё так же можно будет настроить через те же настройки конфига под себя.

Но на мой взгляд, надо приучать людей делать не под себя как им взбредёт в голову, а с учётом того, что после них, их "дизайны", могут переделывать другие люди, а им я думаю нет желания изучать 100500 всевозможных вариаций построений шаблонов/тем... В программировании ведь тоже есть стандарты и правила, как кодить, что бы потом другие могли понять что к чему, так почему этого не придерживаться и для дизайн шаблонов? ИМХО!

Сейчас до меня дошло, возможно недопонималки идут из за того, что не понятно о каких шаблонах/темах идёт речь. Я имею в виду тот случай, когда делается папка Templates, а в ней располагается сам шаблон/тема, к примеру тема - default...
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Темы/Шаблоны

Сообщение yiiliveext »

SergV писал(а): 2019.10.10, 14:51 Именно к примеру так я и делал под свой двиг на фреймворке, и не каких проблем типа как тут писали - "когда верстальщик не учитывает, что это динамический контент" не будет.
Будут аж бегом, это к структуре отношения не имеет. Какой-то у вас слабый нерелевантный опыт с 2004 года, раз не понимаете о чем я говорил))
Аватара пользователя
mat.twg
Сообщения: 222
Зарегистрирован: 2012.02.22, 20:44
Откуда: Санкт-Петербург

Re: Темы/Шаблоны

Сообщение mat.twg »

SergV - Стандартов не существует, сколько команд по вёрстке - столько и стандартов... Хотя нет, они могут ещё быть ограничены определённой CMS.. а в общем случае, разрабам дизайна пишешь, что хочешь пакеты из composer`a, что куча дублирования кода, что все плагины грузятся на всех страницах и ты запарился вычислять какие для чего нужны на главной и на странице с продукцией... и т.д...
Но есть исключения, когда делают грамотные студии шаблоны - там всё по канонам, но надо искать... даже самый крутой дизайн может быть испорчен вёрсткой..
Берите методу БЭМ от яндекса - если найдёте на ней шаблоны, проблем не будет... или что-то подобное...
pClerick
Сообщения: 5
Зарегистрирован: 2018.03.21, 11:54

Re: Темы/Шаблоны

Сообщение pClerick »

День добрый всем.
Мне кажется тут возникло непонимание на почве разного отношения к предмету обсуждения.
Всё-таки сравнивать фреймворк и готовые CMS - не вполне корректно.
Дерзну утверждать, что всё-таки абсолютное большинство сайтов на YII2 - это сугубо прикладные решения с одной рабочей темой. При их создании стоит 2 задачи: реализовать полученную вёрстку и сделать удобную админку для правки содержимого сайта. Всё.
Ожидать, что «набор кубиков» изначально будет заточен под быструю смену внешнего вида готовых пирамидок - это, ИМХО, не понимать задачу данного инструмента.
На YII можно написать (и они уже написаны) достаточно разной структуры CMS, с разными подходами к вопросу быстрой смены внешнего вида.
А можно этим и не заморачиваться.
Чем и ценен фреймворк вообще и YII в частности - всё в ваших руках. Главное,что должен нам дать фреймворк - удобные и качественные инструменты для достижения поставленных нами целей. И чем более разнообразные цели он позволяет достичь - тем он лучше.

Т.е. никто же не мешает сделать один раз готовый стартовый пакет с наиболее удобным с вашей точки зрения подходом к шаблонизации и все новые сайты клонировать с него - и не придётся "каждый раз править конфиги".
SergV
Сообщения: 192
Зарегистрирован: 2012.07.08, 11:27

Re: Темы/Шаблоны

Сообщение SergV »

а в общем случае, разрабам дизайна пишешь, что хочешь пакеты из composer`a, что куча дублирования кода, что все плагины грузятся на всех страницах и ты запарился вычислять какие для чего нужны на главной и на странице с продукцией...
Прежде чем дизайнера винить, стоит с начало себя спросить - "А правильно ли я ТЗ составил", так как он/она читать мысли не умеют, и могут не понимать программистские термины. Ну и, париться вычислять что то, это скорее будет начинающий верстальщик, а не как не хороший программист. А если правильно задать ТЗ, то и вычислять не чего не нужно будет, подготовят всё в нарезанном виде.

Любите вы программисты валить всегда вину на дизайнеров-верстальщиков, а объяснить по человечески, что надо, видать чего то не хватает, и потом удивляетесь, почему вам предоставили голый хтмл сайт, а не то что нужно... ;)

Ну и, я не вижу где проблема с composer, дизайнер не скинул хтмл шаблон на github? Кинуть на github, он конечно может, но не обязан, да и не все дизайнеры это могут, тут надо быть скорей программистом, что бы с этим быть знакомым. Это уже скорей ваша лень, всё надо в готовом виде. Может ещё и код написать за вас дизайнеру? Я эт конечно могу, но зачем мне тогда вы как программист? ;)
Берите методу БЭМ от яндекса
Не, спасибо, я как нить стандартно, без извращений. :)

Мне кажется тут возникло непонимание на почве разного отношения к предмету обсуждения.
Всё-таки сравнивать фреймворк и готовые CMS - не вполне корректно.
Я и не сравниваю. Вся суть была в том, что этого одного раза можно и не делать, если из коробки сразу как надо прописать. Проблема как раз и заключается в том что - "реализовать полученную вёрстку и сделать удобную админку для правки содержимого сайта. Всё." это просто для вас, а что потом с поддержкой сайта после вас. Да, можно собрать сайт так как вам удобно и понятно, но в будущем на ваше место придёт кто другой, и ему придётся ломать голову, разгребая ваш код. Причин замены вас на другого, у клиента может быть 100500+, так что пожалейте тех, кто будет после вас, менять ваш дизайн на другой, ему не знакомому с Yii, и возможно даже с программированием, будет это не просто, особенно если дизайн не вынести отдельно в шаблон/тему.

Поэтому я и предложил сделать возможность верстать шаблоны под фреймворк, в стиле хтмл шаблонов, а не как кому из вас это нравится и удобно. Но раз нет, то и нет, мне не проблема настроить конфиг, и после меня другим не придётся материться, в поиске где и в каком файле вёрстка того-сего..., ну разве по матерятся если код придётся править, я не профи кодер. :)
pClerick
Сообщения: 5
Зарегистрирован: 2018.03.21, 11:54

Re: Темы/Шаблоны

Сообщение pClerick »

SergV писал(а): 2019.10.30, 17:29 кто будет после вас, менять ваш дизайн на другой,
Вот не могу понять: с чего вы вообще решили, что на всех сайтах в будущем будет обязательный ре-дизайн? Мне сейчас попадаются работающие сайты 20-летней давности, ещё на Perl писанные. Какой там редизайн - там полный ремастеринг впору делать. А хозяев до сих пор всё устраивает.

Вы апеллируете к ТЗ - так от него и плясать надо. Есть в ТЗ смена тем - будет смена тем. Нет - не будет.
Ну не ограничивается применение фреймворка вашими личными предпочтениями.

Сам не знаю, чего вдруг в дискуссию встрял. Тут и обсуждать-то нечего, по большому счёту.
Закрыто