blogftnet 1 Опубликовано: 7 октября 2019 Рассказать Опубликовано: 7 октября 2019 engine/modules/main.php 650: $tpl->set ( '{content}', "<div id='dle-content'>" . $tpl->result['content'] . "</div>" ); При создании своего шаблона столкнулся с проблемой дополнительно возникающего блока, который ломал изначальную вёрстку на boostrap 4. Например: у меня есть блок .row и дочерние элементы .col-4 которые в месте представляют собой вёрстку плитками в три колонки. Я делаю так: main.tpl <div class="row align-items-stretch"> {content} </div> shortstory.tpl <div class="col-12 col-sm-6 col-lg-4"> ... </div> Ожидаю: <div class="row align-items-stretch"> <div class="col-12 col-sm-6 col-lg-4">1</div> <div class="col-12 col-sm-6 col-lg-4">2</div> <div class="col-12 col-sm-6 col-lg-4">3</div> </div> А получаю: <div class="row align-items-stretch"> <div id="dle-content"> <div class="col-12 col-sm-6 col-lg-4">1</div> <div class="col-12 col-sm-6 col-lg-4">2</div> <div class="col-12 col-sm-6 col-lg-4">3</div> </div> </div> И естественно вёрстка ломается, приходится гуглить как поменять код движка чтобы не было проблем либо костылить свои стили в обход стандартных конструкций bootstrap. Возможно есть более элегантный способ обойти проблему но я о нём не знаю. Какие варианты могут решить проблему: 1) Убрать враппер параметром: {content wrapper="no"} 2) Добавить возможность указать классы для враппера. {content wrapper_class="row"} Можно ещё вынести управление враппером контента в админку, но это не так универсально как указание параметров прямо в шаблоне. 3) Ещё универсальнее конечно будет возможность добавлять враппер для повторяющихся списков: {content} выводит всё подряд, а если это список, полезно иметь возможность обернуть его в ещё один блок со своими классами. {content list_wrapper="yes" list_wrapper_class="row"} Сейчас мне нужно явно проверять в каких я разделах чтобы понять вывожу я список или нет: [available=main|cat|catalog] {info} <div class="row align-items-stretch"> {content} </div> [/available] [not-available=main|cat|catalog] {info} {content} [/not-available] Прошу добавить функционал, решающий данную проблему, чтобы не приходилось при обновлении движка снова менять его код устраняющий legacy ограничения. Цитата Ссылка на сообщение Поделиться на других сайтах
webair 178 Опубликовано: 7 октября 2019 Рассказать Опубликовано: 7 октября 2019 @blogftnet $tpl->set ( '{content}', "<div id='dle-content'>" . $tpl->result['content'] . "</div>" ); поменять через плагины на $tpl->set ( '{content}', "<div id='dle-content' class='row'>" . $tpl->result['content'] . "</div>" ); Цитата Ссылка на сообщение Поделиться на других сайтах
germanydletest 457 Опубликовано: 7 октября 2019 Рассказать Опубликовано: 7 октября 2019 43 минуты назад, blogftnet сказал: Прошу добавить функционал, решающий данную проблему, чтобы не приходилось при обновлении движка снова менять его код такой функционал уже есть, "Управление плагинами" называется (/admin.php?mod=plugins) Цитата Ссылка на сообщение Поделиться на других сайтах
redissx 251 Опубликовано: 7 октября 2019 Рассказать Опубликовано: 7 октября 2019 Или свой плагин или добавить такие же стили как у row к этому #dle-content {display: flex ... Вводить что-то в движке для этого 100% не будут, тк это и не нужно, все в шаблоне делается. Цитата Ссылка на сообщение Поделиться на других сайтах
blogftnet 1 Опубликовано: 8 октября 2019 Рассказать Опубликовано: 8 октября 2019 Автор 16 часов назад, webair сказал: @blogftnet $tpl->set ( '{content}', "<div id='dle-content'>" . $tpl->result['content'] . "</div>" ); поменять через плагины на $tpl->set ( '{content}', "<div id='dle-content' class='row'>" . $tpl->result['content'] . "</div>" ); Я и так уже делаю через правку кода: $tpl->set ( '{content}', $tpl->result['content'] ); Любой метод означает что у dle есть сильные ограничение при создании шаблонов, даже в базовом функционале вывода списков, и что для отображения обычного шаблона на bootstrap нужно ставить плагины, менять код или городить стили. Но спасибо за инфу что можно сделать через плагины, не знал. Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 8 октября 2019 Рассказать Опубликовано: 8 октября 2019 33 минуты назад, blogftnet сказал: Любой метод означает что у dle есть сильные ограничение при создании шаблонов нет, не означает. А что, открыть файл bootstrap.css и заменить .row{ на .row, #dle-content{ так сложно? И даже плагины не нужны 1 Цитата Ссылка на сообщение Поделиться на других сайтах
blogftnet 1 Опубликовано: 8 октября 2019 Рассказать Опубликовано: 8 октября 2019 (изменено) Автор 1 час назад, alex32 сказал: нет, не означает. А что, открыть файл bootstrap.css и заменить .row{ на .row, #dle-content{ так сложно? И даже плагины не нужны сорян, но это подход плохого кодера)) при каждом обновлении bootstrap придётся менять эту строчку ограничение есть, но возможно я преувеличиваю в других цмс тоже полно кода который нужно патчить плагинами или прямо в коде но разве это делает их более универсальными? Изменено 8 октября 2019 пользователем blogftnet Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 8 октября 2019 Рассказать Опубликовано: 8 октября 2019 подход плохого кодера - это лезть в php для исправления того, что можно исправить css Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 8 октября 2019 Рассказать Опубликовано: 8 октября 2019 28 минут назад, blogftnet сказал: сорян, но это подход плохого кодера)) при каждом обновлении bootstrap придётся менять эту строчку А добавить три строчки в свой CSS вместо правки библиотеки, религия не позволяет? Нужно для чего то лезть в код DLE? Надутая проблема из ничего, решается парой строк в CSS шаблона. Вот оно поколение фреймворкеров ))) ни строчки своего кода верстки написать не могут ))) Зато все называют себя вебмастерами, системными администраторами, программистами ))) а нативного кода CSS никто не знает. Грустно ((( 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Gameer 311 Опубликовано: 8 октября 2019 Рассказать Опубликовано: 8 октября 2019 26 минут назад, blogftnet сказал: сорян, но это подход плохого кодера)) при каждом обновлении bootstrap придётся менять эту строчку ограничение есть, но возможно я преувеличиваю в других цмс тоже полно кода который нужно патчить плагинами или прямо в коде но разве это делает их более универсальными? Рофлан, это каждый раз обновлять bootstrap. WTF? Это сетка, зачем ее каждый раз обновлять? Если вы 90% от ее кода не используете. Цитата Ссылка на сообщение Поделиться на других сайтах
blogftnet 1 Опубликовано: 8 октября 2019 Рассказать Опубликовано: 8 октября 2019 Автор 20 минут назад, celsoft сказал: А добавить три строчки в свой CSS вместо правки библиотеки, религия не позволяет? Нужно для чего то лезть в код DLE? Надутая проблема из ничего, решается парой строк в CSS шаблона. Вот оно поколение фреймворкеров ))) ни строчки своего кода верстки написать не могут ))) Зато все называют себя вебмастерами, системными администраторами, программистами ))) а нативного кода CSS никто не знает. Грустно ((( не знаю о каком вы поколении, я начинал из чистого хардкода и мне это надоело 21 минуту назад, Gameer сказал: Рофлан, это каждый раз обновлять bootstrap. WTF? Это сетка, зачем ее каждый раз обновлять? Если вы 90% от ее кода не используете. там постоянно появляются новые фишки если проект на поддержке то их использование ещё как востребовано 42 минуты назад, alex32 сказал: подход плохого кодера - это лезть в php для исправления того, что можно исправить css согласен, но в данном случае мне не захотелось нарушать основу логики широко распространённой ui библиотеки из-за особенностей dle 18 часов назад, germanydletest сказал: такой функционал уже есть, "Управление плагинами" называется (/admin.php?mod=plugins) создал плагин, на этом в помощи форумцов более не нуждаюсь, интересует только ответ разрабов, если у них есть на это время Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 8 октября 2019 Рассказать Опубликовано: 8 октября 2019 10 минут назад, blogftnet сказал: интересует только ответ разрабов, если у них есть на это время А разраб уже ответил 32 минуты назад, celsoft сказал: А добавить три строчки в свой CSS вместо правки библиотеки, религия не позволяет? 11 минут назад, blogftnet сказал: согласен, но в данном случае мне не захотелось нарушать основу логики широко распространённой ui библиотеки из-за особенностей dle бред какой-то. что то в уровне знаний ТС я сильно сомневаюсь. Не догадаться, как не трогая бутстрап присвоить определенные свойства блоку - это уровень ниже плинтуса Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 8 октября 2019 Рассказать Опубликовано: 8 октября 2019 10 минут назад, blogftnet сказал: не знаю о каком вы поколении, я начинал из чистого хардкода и мне это надоело Надоело что? создавать свой дизайн? Или вы вообще не создаете никакого своего индивидуального вида страницы? А ведь для этого точно нужно дополнительно использовать свой CSS код, куда и можно добавить одну строчку в том числе и для этого. 12 минут назад, blogftnet сказал: создал плагин, на этом в помощи форумцов более не нуждаюсь, интересует только ответ разрабов, если у них есть на это время Очень оптимально, выстрелить по мухам из пушки. Но это ваш выбор. Пользуйтесь им. Я же говорю, вы просто не знаете как это сделать на CSS, а говорите о том что начинали с хардкора. Спорить с этим даже бесмыссленно. Потому как если бы знали, никогда не стали бы это делать через систему плагинов. Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 8 октября 2019 Рассказать Опубликовано: 8 октября 2019 (изменено) в четвертом бутстрапе стили для селектора row занимаю один блок .row { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; } Всё! Больше ничего нет. Но "хардкорному" верстальщику, видимо, неизвестно, что можно этот блок скопировать в свой css и вместо селектора row подставить свой id dle-content. Вот он, хардкор, во всей своей красе Лезть в код скрипта вместо простой правки css Изменено 8 октября 2019 пользователем alex32 Цитата Ссылка на сообщение Поделиться на других сайтах
Sh1ning 23 Опубликовано: 8 октября 2019 Рассказать Опубликовано: 8 октября 2019 Вопрос по теме, а может быть и нет, при верстке сайта на CSS Grid возникают сложности того, что navigation.tpl,search.tpl являются частью content, а должны быть вынесены отдельно, чтобы не ломать сетку. Непонятно просто - speedbar вынесен - его можно размещать в отдельном блоке, хотя он тоже часть контента, а навигация и поиск - нет. Может кто-то подскажет дельные решения таких вопросов. По идее наверное можно как-то посчитать ширину блоков и задавать ширину 1 блока в случае поиска на 100%, а все остальные считать результатом, и ширину последнего блока для навигации. Если подскажете элегантное решение, будет круто) На grid ужасно приятно верстать сайт) Но есть вещи, которые пока не могу решить быстро. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 8 октября 2019 Рассказать Опубликовано: 8 октября 2019 2 часа назад, Sh1ning сказал: Непонятно просто - speedbar вынесен - его можно размещать в отдельном блоке, хотя он тоже часть контента, а навигация и поиск - нет. Может кто-то подскажет дельные решения таких вопросов. По идее наверное можно как-то посчитать ширину блоков и задавать ширину 1 блока в случае поиска на 100%, а все остальные считать результатом, и ширину последнего блока для навигации. вот вроде слова знакомые, а что ты написал, вообще не понимаю... Цитата Ссылка на сообщение Поделиться на других сайтах
redissx 251 Опубликовано: 9 октября 2019 Рассказать Опубликовано: 9 октября 2019 12 часов назад, Sh1ning сказал: Вопрос по теме, а может быть и нет, при верстке сайта на CSS Grid возникают сложности того, что navigation.tpl,search.tpl являются частью content, а должны быть вынесены отдельно, чтобы не ломать сетку. Непонятно просто - speedbar вынесен - его можно размещать в отдельном блоке, хотя он тоже часть контента, а навигация и поиск - нет. Может кто-то подскажет дельные решения таких вопросов. По идее наверное можно как-то посчитать ширину блоков и задавать ширину 1 блока в случае поиска на 100%, а все остальные считать результатом, и ширину последнего блока для навигации. Если подскажете элегантное решение, будет круто) На grid ужасно приятно верстать сайт) Но есть вещи, которые пока не могу решить быстро. Делать ту же навигацию от первой фракции до конечной. Например, .navigation {grid-column: 1 / 5;} Цитата Ссылка на сообщение Поделиться на других сайтах
Sh1ning 23 Опубликовано: 9 октября 2019 Рассказать Опубликовано: 9 октября 2019 (изменено) 1 час назад, redissx сказал: Делать ту же навигацию от первой фракции до конечной. Например, .navigation {grid-column: 1 / 5;} Да, действительно) очень круто) спасибо за информацию:) Для растягивания грида лучше не задавать конкретный конец, потому что тогда нужны media запросы для разных разрешений, лучше вот так - grid-column: 1 / -1; и выглядит очень классно) Изменено 9 октября 2019 пользователем Sh1ning 1 Цитата Ссылка на сообщение Поделиться на других сайтах
MaHarder 20 Опубликовано: 10 октября 2019 Рассказать Опубликовано: 10 октября 2019 В 08.10.2019 в 10:33, blogftnet сказал: согласен, но в данном случае мне не захотелось нарушать основу логики широко распространённой ui библиотеки из-за особенностей dle что мешает создать "соседний" стиль и подключить его после бутстрапа и прописывать все правки в нём? Цитата Ссылка на сообщение Поделиться на других сайтах
blogftnet 1 Опубликовано: 11 октября 2019 Рассказать Опубликовано: 11 октября 2019 Автор В 08.10.2019 в 11:47, alex32 сказал: бред какой-то. что то в уровне знаний ТС я сильно сомневаюсь. Не догадаться, как не трогая бутстрап присвоить определенные свойства блоку - это уровень ниже плинтуса Спасибо за унижение, я не говорил что я не знаю как это сделать с помощью css, и примеры css кода мне не нужны, я просил нормального решения чтобы не покрывать шаблон костылями. Если такого решения нет нет это не повод говорить что чьи то знания ниже плинтуса. Sh1ning правильно подметил суть проблемы. В 08.10.2019 в 11:47, celsoft сказал: Я же говорю, вы просто не знаете как это сделать на CSS, а говорите о том что начинали с хардкора. Спорить с этим даже бесмыссленно. Не стоит судить о том что я знаю а чего не знаю и делать выводы по двум сообщениям. Зато по вашим двум сообщениям можно сделать вывод что на посту админа форума вы явно засиделись. Никакой конкретики только насмешки, никакого профессионализма. Отличный повод оставить достойные отзывы о поддержке DLE. Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 11 октября 2019 Рассказать Опубликовано: 11 октября 2019 20 минут назад, blogftnet сказал: я просил нормального решения чтобы не покрывать шаблон костылями. Решение с вмешательством в код скрипта это и есть костыль. Нет, костылищщщеее 21 минуту назад, blogftnet сказал: Не стоит судить о том что я знаю а чего не знаю и делать выводы по двум сообщениям. Да мы уже поняли, кто что знает Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 11 октября 2019 Рассказать Опубликовано: 11 октября 2019 30 минут назад, blogftnet сказал: Не стоит судить о том что я знаю а чего не знаю и делать выводы по двум сообщениям. Зато по вашим двум сообщениям можно сделать вывод что на посту админа форума вы явно засиделись. Никакой конкретики только насмешки, никакого профессионализма. Отличный повод оставить достойные отзывы о поддержке DLE. Вам обидно и неприятно. Я вас понимаю. Но вы опять делаете неправильные выводы к сожалению. Почитайте свои сообщения, вы пришли на форум, начали указывать другим, что они какие то неправильные и плохие по вашему мнению кодеры. И тут же получили назад. Вы получили ровно то, что сами захотели. Ведь никто не заставлял вас здесь демонстрировать свой "профессионализм" и указывать другим что они ни в чем не разбираются. Нет ничего страшного в том что человек что то не знает, это нормально, сюда за помощью и приходят, чтобы спросить, получить помощь, поблагодарить и пойти дальше, занимаясь своими делами. А когда человек начинает ставит себя ставить выше других, всегда получает в ответ. Никто с ним церемонится не будет. И вам будет урок, что не нужно кичится своими знаниями, всегда найдется тот кто умнее. Это касается любого. И вас касается и меня касается, и вообще любого человека. Делайте правильные выводы. Лучше их делать на мелочах и на ранних этапах. 1 2 Цитата Ссылка на сообщение Поделиться на других сайтах
Sh1ning 23 Опубликовано: 11 октября 2019 Рассказать Опубликовано: 11 октября 2019 10 часов назад, blogftnet сказал: Sh1ning правильно подметил суть проблемы. Ничего я не подмечал) Задал вопрос, получил ответ - реализовал - заняло 2 строки в css, в движок не лезу=) Сейчас технологии верстки намного упростились и переводить сайт на них - лично для меня одно удовольствие. И почему-то даже не люблю фреймворки, а привык все делать сам. Так лучше понимаешь логику и что куда добавлять из блоков. Но каждому свое. Вам тут уже несколько вариантов ребята накидали, и все рабочие и простые. Цитата Ссылка на сообщение Поделиться на других сайтах
zettend 2 Опубликовано: 19 июля 2021 Рассказать Опубликовано: 19 июля 2021 (изменено) Вообще, актуально как никогда. Если честно, уже сил нет контролировать этот ваш dle-content, особенно, когда у тебя больше 5и типов контента. Не понимаю, в чем проблема дать юзеру контроль? Методов было предложено уже тонна, самый наверно простой из них такой: [content] ... {content} ... [/content] Где в результате будет такая разметка: <div id="dle-content"> ... content ... </div> А ещё ведь может быть и разные типы сеток под разный тип контента, может ты и кастомами ещё выводишь и т.д. у меня лично получается уже 80 строк этого вашего dle-content в css разметке, т.е. это просто дубли, на которые ещё и лайтскор ругается, что соответственно по выдаче не хорошо сказывается... И таких ньюансов из-за неконтролируемого dle-content может быть тонна. И нет, я не использую фраемвоки, вообще, вплоть до сетки бутстрапа - я её не использую. Но я всегда сначала верстаю в HTML, а потом уже портирую под DLE. И каждый раз я сталкиваюсь с проблемами dle-content. Изменено 19 июля 2021 пользователем zettend Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 19 июля 2021 Рассказать Опубликовано: 19 июля 2021 3 минуты назад, zettend сказал: Не понимаю, в чем проблема дать юзеру контроль? Методов было предложено уже тонна, самый наверно простой из них такой: [content] ... {content} ... [/content] Где в результате будет такая разметка: Масло масленное, если нет тега {content} в шаблоне, то и нет тега <div id="dle-content">. Потому как он не используется, при выводе других тегов. Например при использовании тегов custom и прочее. 5 минут назад, zettend сказал: А ещё ведь может быть и разные типы сеток под разный тип контента Этот тег только у одного типа контента, и какие бы сетки не были, он никак не влияет ни на что. Из вашего большого описания, совершенно не понятно в чем проблема и какие у вас дубли 80 строк в CSS тоже непонятно. Можно сделать и 1000 строк в CSS, это не значит что они были сделаны оптимально и самым правильным способом. Этот тег стоит не просто так чтобы было, он важен и нужен для выполнения функций DLE, в большинстве своем именно для выполнения AJAX функций. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.