Форумы / National / Russian / как заблокировать выбор разделов структуры в селекте

foxss
#1 28.06.2017 02:07

например есть структура

- тексты
- - рерайт
- - копирайт
- графика
- - растровая
- - векторная

надо сделать так чтобы пункты селекта "тексты" и "графика" имели значение "disabled"

ЗЫ выставление прав не помогает.т.к. тогда пункт изчезает из списка, а надо чтобы он присутствовал, но был не доступен для выбора

пример что надо https://jsfiddle.net/8qLvw0kw/

Добавлено 24 минуты спустя:

решение на JS https://jsfiddle.net/1jj9jkja/

но хотелось бы на уровне движка...

Отредактировано: foxss (28.06.2017 03:02, 6 лет назад)
Macik
#2 28.06.2017 12:19

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

 

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
foxss
#3 28.06.2017 19:01

это для сборки фриланс биржи. надо чтобы заказчики обязательно оставляли свои ТЗ/заказы/проекты в подкатегориях, а не сваливали все в одну кучу, в корневом разделе..

для примера вот скрин с fl.ru, надо чтобы не было возможности кидать в корневой раздел "тексты", иначе получится помойка.

Roffun
#4 29.06.2017 00:11
#42933 foxss:

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

 

 Для этого достаточно в категориях права на запись убрать (оставить R),  а для подкатегорий RW1:

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
foxss
#5 29.06.2017 16:40
#42934 Roffun:

Для этого достаточно в категориях права на запись убрать (оставить R),  а для подкатегорий RW1:

вообще то я в 1 сообщении написал:
выставление прав не помогает.т.к. тогда пункт изчезает из списка, а надо чтобы он присутствовал, но был не доступен для выбора

Roffun
#6 29.06.2017 18:57
#42935 foxss: вообще то я в 1 сообщении написал:
выставление прав не помогает.т.к. тогда пункт изчезает из списка, а надо чтобы он присутствовал, но был не доступен для выбора

Не обратил внимания вчера.

Вот набросал решение на JavaScript  для projects.add.tpl:

<script>
var opts = document.querySelectorAll('select[name="rcat"] option');
for (var i = 0; i < opts.length; i++) {
if (!opts[i].text.match(/\{PHP.cfg.separator}/i)){
    opts[i].setAttribute('disabled',true);}
}
</script>

Скрипт нужно разместить в любой части шаблона, главное чтобы он был ниже тега {PRJADD_FORM_CAT}.

Можно конечно и на PHP реализовать, но это нужно отдельно думать.

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
Отредактировано: Roffun (29.06.2017 23:17, 6 лет назад)
foxss
#7 30.06.2017 09:22

спс. на js я и сам сделал, хотя ваш вариант конечно в чем то элегантнее...