Перейти к публикации

Доп. поля при добавлении новости


Рекомендованные сообщения

Обнаружил ошибку либо не доработку

Если создать доп. поле и дать возможность его заполнения только для определенной категории, то при использовании стандартного вывода этих полей на странице добавления новости тегом {xfields} все работает, но если добавить его тегом [xfinput_X] то он отображается на странице всегда, независимо от того выбрана категория в которой можно его использовать или нет.

Изменено пользователем VGreen
Ссылка на сообщение
Поделиться на других сайтах

 Никакого бага или недоработки здесь нет. Для того чтобы задействовать автоматически настройки указанные в DLE чтобы скрывалось или показывалось то использовать нужно базовый тег вывода доп. полей {xfields} . А не пользовательский, который вы выводите в ручную. Этот тег выводит только поле, а не какие то условия. В данном случае вам нужно писать свой JS и добавлять в шаблон. Как это например делает стандартных DLE. При использовании {xfields} все поля тоже выводятся, но есть специальный JS скрипт который анализирует действия на странице и манипулирует с полями. А при использовании пользовательского вида, вы пишите также и свой пользовательский JS, потому как что вам скрывать и прочее вы также делаете уже свое и пользовательское. В этом и суть этого тега, когда нужно создать свое, исключительно специфическое оформление. И для такого оформления никаких оберток не может быть по определению.

Это тоже самое что использовать теги {content} и тегм {custom ....} в первом случае работают настройки в админпанели, а во втором они никак не действуют и только пользовательские параметры тега. Все тоже самое. Пользовательские теги вы уже оформляете полностью в шаблоне сами.

Кстати. Вылетело из головы. Можно вообще не писать никаких своих JS, а просто своим оберткам задать правильные имена id слоев ваших оберток, которые нужно скрывать. И тогда будет по ним отрабатывать стардартные JS скрипты DLE. Какими должны быть ID элементов можете посмотреть по исходному коду который выводит базовый тег {xfields}

Ссылка на сообщение
Поделиться на других сайтах

а не проще сделать тогда что то подобное?

[xfinput_X][/xfinput_X] - если поле доступно к заполнению то показываем

{xfinput-name_X} -выведет название поля

{xfinput-desc_X} - выведет описание поля

{xfinput_X} выведет само поле

 

при этом если поле выводится в пользовательском режиме, то убирать его из показа в базовом теге

 

Да и кстати, Вы позиционируете свой скрипт как 

Цитата

Удобство и простота

Для создания сайта не требуется знаний языков программирования. Собственный сайт может позволить себе каждый

 

Однако JS это язык программирования, и получается чтобы пользоваться теми функциями в полном размере что идут из коробки, необходимо все же знать языки программирования

12 минут назад, celsoft сказал:

Кстати. Вылетело из головы. Можно вообще не писать никаких своих JS, а просто своим оберткам задать правильные имена id слоев ваших оберток, которые нужно скрывать. И тогда будет по ним отрабатывать стардартные JS скрипты DLE. Какими должны быть ID элементов можете посмотреть по исходному коду который выводит базовый тег {xfields}

Раз так, тогда извиняюсь)))

но мой вариант наверно все же проще))

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, VGreen сказал:

а не проще сделать тогда что то подобное?

[xfinput_X][/xfinput_X] - если поле доступно к заполнению то показываем

{xfinput-name_X} -выведет название поля

{xfinput-desc_X} - выведет описание поля

{xfinput_X} выведет само поле

Нет конечно. Вы сами немного подумайте логически. Хотя бы немного. Как DLE работающий на сервере что то будет убирать или нет этими, когда вы выбирате в браузере категорию. Это же браузере при добавлении новости происходит, а не что то из БД берется и на сайте выводится. Если не поняли, то повторю ключевую мысль: "DLE на сервере, а клики по категориям в браузере. Backend теги, frontend действия" Вы совершенно нереализуемое предложение из разных технических вселенных приводите, которые между собой никак не взаимосвязаны.

1 час назад, VGreen сказал:

Да и кстати, Вы позиционируете свой скрипт как 

Удобство и простота

Однако JS это язык программирования, и получается чтобы пользоваться теми функциями в полном размере что идут из коробки, необходимо все же знать языки программирования

Нет не получается и вы крайне невнимательно прочитали то что я вам написал выше, а выше я вам написал что есть теги которые сделают все автоматически. Так и используйте теги которые делают все автоматически. Зачем вы "полезли" в теги которые сделаны для профессионалов, которым нужно делать очень специфические собственные функции и специфические оформления. В DLE есть средства и для новичков, в котором простота и удобство и средства для пофессионалов, которым нужно сделать уникальные решения. И вы вибераете сами какой инструмент использовать. Вместо инструмента для новичков, простоты и удобства, вы решили использовать инструмент для профессионалов, при этом не являясь таковым. В DLE есть и то и то. И вы делаете выбор что использовать. А ваше недостаточное знание для работы с этим профессиональным инструментом, это не баг и не недоработка DLE, это недостаток знаний того кто им пользуется. Поэтому либо используйте то оформление которое создали за вас используя тег {xfields}  и все будет работать и без ваших знаний, либо используйте теги [xfinput_X] для которых всю логику взаимодествия вы продумываете уже сами, но для этого уже нужны знания, потому что без знаний ничего появится из ниоткуда не может. В этом и суть этих тегов, в этом их и разница. Чтобы делать уникальные вещи, а уникальные вещи не могут быть с универсальным оформлением и обертками. А backend теги не могут выполнять frontend задачи, как вы предложили, даже в теории.

Поэтому не нужно это мешать в кучу. 

Ссылка на сообщение
Поделиться на других сайтах
13 минут назад, celsoft сказал:

Нет конечно. Вы сами немного подумайте логически. Хотя бы немного. Как DLE работающий на сервере что то будет убирать или нет этими, когда вы выбирате в браузере категорию. Это же браузере при добавлении новости происходит, а не что то из БД берется и на сайте выводится. Вы совершенно нереализуемое предложение из разных технических вселенных приводите, которые между собой никак не взаимосвязаны.

как нереализуемо, если вы сами написали выход

1 час назад, VGreen сказал:

Кстати. Вылетело из головы. Можно вообще не писать никаких своих JS, а просто своим оберткам задать правильные имена id слоев ваших оберток, которые нужно скрывать. И тогда будет по ним отрабатывать стардартные JS скрипты DLE. Какими должны быть ID элементов можете посмотреть по исходному коду который выводит базовый тег {xfields}

 

Ссылка на сообщение
Поделиться на других сайтах
46 минут назад, VGreen сказал:

как нереализуемо, если вы сами написали выход

В этом выходе я написал про шаблонные теги? Нет. Я помойму процитировал что именно нереализуемо. Я написал про другой выход, и то я написал не про выход, а просто о самом простом решении, для тех кто не обладает знаниями, потому как большинству людей которые используют этот тег, не нужны такие простейшие решения, они пишут свои (например чтобы добавить анимации, всплывающие окна и т.д.), это тег для собственных профессиональных решений а не для простых. А про нереализуемость я писал по вашему предложению тегов  [xfinput_X][/xfinput_X] которые вы предлагали как решение. 

Для чего по вашему нужен тег [xfinput_X]? уж точно не для того чтобы выводить имена поля или чего то еще. Это любой профессиональный вебмастер сделает вручную за секунду без каких то сложностей. Это нужно для того чтобы новости можно было редактировать, если вы не знали, то такая возможность есть в DLE, редактировать новости на этой странице, и для этого и нужен этот инструмент для взаимодействия страницы, и DLE, чтобы вывести уже добавленный контент, отформатированный для режима редактирования. А то что написали вы не имеет никакого практического смысла, потому как имя вы итак пишите в шаблоне, и написать эго где нужно и без шаблонных тегов DLE, не представляет никакой сложности, поэтому ничего эти шаблонные теги не упрощают, а только запутывают.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...