- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Здравствуйте уважаемые форумчане!
Начал создавать свой фреймворк для сайтов. Суть его следующая:
Поступает запрос на страницу например: site/contacts
Движок открывает файл структуры страницы site/contacts.xml
Затем разбирается структура xml и формируется готовая страница
Почему я так решил делать? Основной принцип это разделение данных от разметки, но так как в MVC шаблоны пишутся с встроенным php, то этот принцип уже не действителен. Раньше я применял метод вставки данных по меткам, но части разметки также приходилось писать в php, и для одной страницы нужно редактировать несколько файлов. Хотелось чтобы был один файл структуры страницы где небольшими вставками указываешь по мере надобности необходимое(хедер, футер, меню, слайдер и тд. и тп.) и движок это компоновал. Люди желающие делать сайты и не знающие php, html, css разных премудростей сайтостроения, но зная как создать структуру страницы легко смогут это делать.
В таком фреймворке всё разложено по отдельности. Те кто занимаются дизайном составляют шаблоны и стили которые лежат в директориях lay и css соответственно. Кто пишет на php могут добавлять свои классы(узлы, модули). Пользователь же создавая страницу просто указывает в структуре xml что надо подключить такие-то стили, узлы и какие шаблоны нужны в которых вместо меток вставить нужные данные из узлов обработчиков php.
Во-первых хотелось бы узнать ваше мнение по поводу такой идеи фреймворка для сайтов. Во-вторых основу такого фреймворка я сделал, но далее надо наполнять разными шаблонами, стилями, узлами. Хотелось бы узнать найдутся ли те кто захотят развивать данную идею, не плохо бы собрать сообщество фреймворка SNDL (Structure Node Data Layout - Структура Узел Данные Макет)
Плюсы минусы подходов генерации страницы.
Структуирование - мой подход с парсингом xml
Нативный шаблон(MVC) - вставка в шаблоне php
Шаблонизация(метками) - php ищет метки в тексте и обрабатывает и заменяет
В [] буду ставить свою оценку по 5 бальной шкале.
Принцип разделения данных и шаблона?
Структуирование - [5] принцип работает
Нативный шаблон(MVC) - [3] в шаблонах не обойтись без вставок данных php
Шаблонизация(метками) - [4] я никогда не пользовался шаблонизаторами так как привыкать ещё и к его командам надо, делал свои простые шаблонизаторы с самыми нужными командами
Удобство в создании новых страниц?
Структуирование - [5] для меня это наилучшее решение, надо знать только принцип создания структуры - это просто
Нативный шаблон(MVC) - [3] надо знать html и php, поставил 3 так как обычные люди не хотят изучать html и php
Шаблонизация(метками) - [2] надо знать html и команды шаблонизатора, также не совсем удобно
Скорость генерации страницы?
Структуирование - [4] думаю немного медленнее чем MVC
Нативный шаблон(MVC) - [5] быстрая скорость
Шаблонизация(метками) - [1] медленная скорость
Подведём итоги:
Структуирование - оценка 5+5+4=14
Нативный шаблон(MVC) - оценка 3+3+5=11
Шаблонизация(метками) - оценка 4+2+1=7
Структуирование по-моему наилучший подход.
ArbNet, каждый программист в своей жизни должен создать свой фреймворк, cms, обосрать других программистов, потом вырасти и кодить то, что популярно и на что есть спрос, вордпресс например. Это норма :D
Если проект загнется, предлагаю переделать его в дорогенератор и зайти в соотв. раздел :)
в MVC шаблоны пишутся с встроенным php
Хто сказал? [Практически(?)] к любому фреймворку можно прикрутить любой из более-менее <адекватных> {шаблонизаторов}..
Люди желающие делать сайты и не знающие php, html, css разных премудростей сайтостроения, но зная как создать структуру страницы легко смогут это делать.
"Конструкторов" хватает разношёрстных.. вон, Elementor, к примеру.. Битрикс тот же.. Там тоже компоненты можно "понавтыкать" и даже без знания XML.
Пользователь же создавая страницу просто указывает в структуре xml что надо подключить такие-то стили, узлы и какие шаблоны нужны
Ну, т.е. пользователь уже должен знать, как минимум, XML, указывать стили (а как они между собой дружить будут?), узлы (?) и шаблоны..
ArbNet, сколько вам лет?
ArbNet, сколько вам лет?
Какая разница. Чем младше, тем полезнее будет опыт, насколько бессмысленным бы он сейчас не казался. Тут куча старых пердунов, которые живут в реалиях 2000х годов и не могут ничего по этой причине сдвинуть с места, и искренне удивляются, почему не получается зарабатывать больше со своими изъезженными схемами.
Ну, т.е. пользователь уже должен знать, как минимум, XML, указывать стили (а как они между собой дружить будут?), узлы (?) и шаблоны..
Движок открывает xml структуру например
Чтобы было понятнее объясню о составлении структуры страницы.
xml имеет формат: <перефикс атрибут="значение атрибута">содержание</перефикс> или без содержания <перефикс атрибут="значение атрибута"/>
перефикс - это метка данных в шаблоне куда нужно вставить содержание
атрибут - строго определен, если нужен шаблон меню ставим атрибут lay="menu"
Итак. Движок берёт <nodes> и загружает нужные классы, у нас указан узел(класс) Menu. Затем берёт основной шаблон для html see="site" то есть файл site.html. В этом шаблоне должна быть метка [content]. Затем смотрит дочерние данные. В content у нас есть метка для меню и какое-то содержание. Идём дальше, видим перефикс для меню загружаем шаблон меню lay="menu" в этот шаблон нужно вставить список который нам даст функция узла fnc="Menu".
основной шаблон {метка} - в реальном шаблоне такая [метка], тут поменял так как вставляется это ***91;content***93;
шаблон меню
Что касается стилей. Они также собираются как мозайка :)
На к странице подключаются два файла. Один основной для всего сайта, в котором указаны цвета, размеры, выравнивание, шрифты, каркас. А во втором уже собираются все нужные стили какие подключаются лэи(шаблоны). При запросе стилей страницы открывается структура страницы и через xpath('//@lay') получается массив нужных стилей для лэев. Далее соответственно формируется нужный css.
---------- Добавлено 28.10.2019 в 12:11 ----------
Получается так, что знание html и php не обязательно, не надо составлять шаблоны, стилизовать страницу, не надо программировать на php, думать где какие данные разместить и тд. Всё это сделает фреймворк. Надо просто указать то что хотите видеть на странице. Подключатся узлы, возьмутся нужные шаблоны и стили к ним, указываете какие данные нужны тому или иному шаблону. Всё.
Подключатся узлы, возьмутся нужные шаблоны и стили к ним, указываете какие данные нужны тому или иному шаблону. Всё.
Из банального - сделайте активный пункт меню, соответствующий текущей категории 2-го уровня другим цветом, а родительскую категорию - открытым блоком. Ту же штуку - с хлебными крошками.
И да.. "точечку-маркер поменяйте на звёздочку.." заказчик попросил..
Легко. В админке будут все настройки, сам же заказчик в любое время сможет настроить как ему захочется. У меня знакомая так же придирается к таким мелочам, поэтому всё это я учёл. Изменять шаблоны стили к ним, а также подобные небольшие настройки формировании данных в узлах по мере надобности будет делаться в админке.
---------- Добавлено 28.10.2019 в 13:19 ----------
Есть ещё мысль сделать в админке типа визуального редактора drag&drop перетаскиванием мыши в структуру будут добавляться необходимые элементы страницы. То есть заранее подготовить вставки xml, но это в перспективе.
Покачто хочется найти единомышленников.