Своя тема/шаблон с нуля

На сколько я понимаю, имея опыт посадки нескольких шаблонов, все шаблоны (темы), даже коммерческие, базируются на штатном шаблоне CMS?!
А вот есть ли возможность, с нуля сделать свой? И если да, то есть ли гайд интеграции функциональности самой CMS.
Просто модификация стандартного шаблона это конечно от лукавого. Столько шлака, просто ужас. И создать лёгкую быструю тему, вообще не реально!?

Можно и свой шаблон темы намутить, это возможно и реально. А что вам мешает?

Мешает основной гайд https://docs.cs-cart.com/latest/designer_guide/theme_tutorial/index.html
А как ещё можно?

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

Для меня удивительно, что вы задались таким вопросом, как создание своего шаблона темы с нуля, да ещё без учёта штатной темы. Чтобы воплотить в жизнь такую мечту, надо быть шикарнейшим программистом с глубокими знаниями платформы CS-Cart, и то, в одиночку это не потянуть, такая разработка растянется не на один год. А если имеешь лишь поверхностные знания, то лучше уж купить подходящий шаблон темы и накатить его либо воспользоваться гайдом, если сильно хочется убить свободное время.

1 лайк

Ну как сказать. То что прыгать от основного шаблона сомнительное действие, как то странно. Я не особо вник в философию разработки под CS-CART, хотя не мало написал модулей уже и посадил шаблонов. В той теме в которой я больше варюсь, такой боли нет!

Логика родительских / дочерних тем в CS-Cart нужна для того, чтобы лучше была совместимость со сторонними и штатными модулями. Как не-программист, могу описать принцип так:

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

Если у вас свой проект, вы готовы разработать тему с нуля, точно знаете, какие модули вы (не) будете использовать, и готовы в будущем адаптировать тему под новые нужные вам изменения в продукте или сторонние модули, то можно и создать тему с нуля.

Несколько лет назад мы даже работали в этом направлении, но потом приоритеты сменились. А наработки темы на Bootstrap 3.3.5 остались: https://github.com/cscart/cscart-boilerplate. Мы их сейчас не поддерживаем, и не гарантируем, что на новых версиях CS-Cart запустится. Но как материал для изучения использовать можно.

1 лайк

Так нет никакой проблемы. Берите и делайте полностью кастомный. Стандартный гайд создан для того чтобы реализовать совместимость со сторонними модулями. Под конкретный проект можно вообще на многое забить, при желании, сделать вообще по-своему. Никто не мешает отказаться от стандартных элементов шаблонов, упростить не нужное. Просто в следствии итоговой несовместимости со всем остальным, нет никакого смысла делать подобный шаблон на продажу. Так же можно заметить, что многие элементы и в существующих шаблонах не копируют полностью стандартные, имеют свою структуру, при этом используя стандартные хуки + свои собственные, для обеспечения совместимости. Такой компромисс. Можно по-разному, в целом. Единственное, что мешает - психологический аспект и наличие функционала, вроде макетов, которого просто нет в других CMS. Но ведь никто не мешает на них просто забить и сделать шаблон вообще без поддержки макетов.

1 лайк

Во первых, логика построения директорий шаблонов темы - каждый кусок кода знает откуда ему брать шаблон - для контроллера, для мода (исключение инклуды - пути к ним прямо прописываются) . Чем плох гайд? Вы создаете свою тему на основе родительской респонсив - в результате у вас сразу же рабочая тема (в папке тем папка с названием вашей темы, пока абсолютно пустая). Потому что если шаблонизатор не находит нужный шаблон у вас - он тянет его из родительской темы. А дальше полная свобода - берите любой шаблон из респонсив, копируйте его с идентичным путем в свою тему, и видоизменяйте как (бог на душу положит) вам будет угодно.

1 лайк

Эт новость, я всегда думал, что вы программист =}

А так ощущение, открытие двери с ноги, если было бы больше опыта поняли бы почему так сделано.
Если вы руками готовы написать сотни tpl для всех штатных модулей + всех сторонних топовых вперед, только потом каждое обновления модулей, каждое обновление цс-карт, поддержка совместимости, старая тема - новые модули, новые модули - старая тема.

Хотите вынести мусор из ядра темы, можно думаю обсудить вам и как через баг подаваться, так и напрямую с хелпдеск.

Подтвержу слова на своём примере. 4.9.3, я внёс изменения в отображение чекаута перекрыв один из стандартных шаблонов шаблоном из своей темы. И вот настала пора пробовать обновление и посмотреть что за новый чекаут такой. Я месяца три пребывал в разочаровании, не понимая, почему блок доставок ну никак не хочет отображаться плиткой! А все потому что в респонсив шаблон изменился, но он так и продолжал грузиться из моей темы, в своём старпом варианте. Это я поясняю, почему с каждым обновлением надо будет тестировать на совместимость с данными и другими шаблонами почти каждый свой шаблон.
PS Вот если бы в режиме дизайна темы отображалось, какие блоки перекрыты шаблонами дочерней темы - вот это несколько бы скрасило жизнь…