0 Пользователей и 1 Гость просматривают эту тему.
  • 22 Ответов
  • 3138 Просмотров
*

akusin

  • Новичок
  • 7
  • 0 / 0
Всем привет. Собственно сабж: На сайте несколько групп пользователей K2 с разными правами доступа к разным категориям. Причём названия и тематика тех к которым им не нужен доступ, их не интересует. Печаль в том, что при добавлении материалов с фронта, они (категории)в выпадающем списке как мы знаем палятся (хоть некоторые и неактивно) но все. Я пробовал искать обход средствами CSS ( в PHP почти не шарю), но это тупиковый путь, хотя ели бы что-нибудь типа "diplay none" вставить знать бы куда  :o то в принципе может и прокатило бы (по крайней мере на статичной HTML я замутил :) ). Подскажите PLS  куда копать...
« Последнее редактирование: 01.04.2012, 11:11:16 от akusin »
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
файл administrator/components/com_k2/models/categories.php

открываем

меняем это
Код
		$list = JHTML::_('menu.treerecurse', 0, '', array (), $children, 9999, 0, 0);
$mitems = array ();
foreach ($list as $item) {
$item->treename = JString::str_ireplace(' ', '- ', $item->treename);

if($item->trash) $item->treename .= ' [**'.JText::_('K2_TRASHED_CATEGORY').'**]';
if(!$item->published) $item->treename .= ' [**'.JText::_('K2_UNPUBLISHED_CATEGORY').'**]';

$mitems[] = JHTML::_('select.option', $item->id, $item->treename);
}
return $mitems;
}

на это
Код
		$list = JHTML::_('menu.treerecurse', 0, '', array (), $children, 9999, 0, 0);
$mitems = array ();
foreach ($list as $item) {
$item->treename = JString::str_ireplace(' ', '- ', $item->treename);

if($item->trash) $item->treename .= ' [**'.JText::_('K2_TRASHED_CATEGORY').'**]';

if($item->published){$mitems[] = JHTML::_('select.option', $item->id, $item->treename);}
}
return $mitems;
}
« Последнее редактирование: 01.04.2012, 12:18:52 от eclipseggg »
*

akusin

  • Новичок
  • 7
  • 0 / 0
Дружище, спасибо за внимание, но не вканало  :(. По прежнему в листе, активные категории чёрным цветом, неактивные серым. Кэш очищен везде.
« Последнее редактирование: 01.04.2012, 21:50:23 от akusin »
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
что значит не вканало, я у себя сделал у меня исчезли и просто остается только активная категория неактивных вообще нет 0_О ты точно правильно заменил всё?
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
правда я на админке проверял, проверь что в админке у тебя после этого хака?если в админке заработало а на фронтеде нет то посмотрю фронтед попробую сделать
*

akusin

  • Новичок
  • 7
  • 0 / 0
А, ясно в чём дело. Твоё решение для неопубликованных категорий (я проверил, работает и на фронте и в админке), но я про другое..  Допустим у нас 2 раздела : №1-каталог организации, №2-инвестирование (у меня так пока), и 2 группы пользователей 1-владельцы бизнеса (их права для размещения и редакции установлены на раздел №1), 2-инвесторы( №2 соотв.). Они хотят размещать материалы из фронта, каждый в свою категорию в рамках раздела ( ну или родительской категории если хотите) и лишняя лабуда в виде названий категории соседнего раздела, им нафиг не нужна. На деле же мы имеем такую вот хрень: . Нужно сделать так, чтобы "серые" не отображались.. З.Ы. Про деньги под проценты- это не реклама. Случайно получилось  ^-^
« Последнее редактирование: 01.04.2012, 22:03:32 от akusin »
*

SDKiller

  • Moderator
  • 2706
  • 329 / 5
  • ...ergo sum
Делал в своё время для 2.4.1  (mootools 1.1)  что-то наподобие в form.php
Код
<script type="text/javascript">
window.addEvent('load',function() {

var disabledOptions=$$('#catid option[disabled]');
$each(disabledOptions, function(option){
option.setStyle("display","none");
});
});
</script>

Принцип понятен? Тогда для текущей версии сами доведёте
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
ааа, ну может я с утра с просони не так понял тебя, короче если вариант выше не получится дашь знать и поковыряем)
*

akusin

  • Новичок
  • 7
  • 0 / 0
Уважаемый SDKiller, нельзя-ли всё-таки поподробнее разжевать ? Для неофитов. Принцип конечно понятен, и код найден и уже только задом наперёд не вывернут. Но всё таки трудновато, когда даже в синтаксисе не ориентируешься. В form.php я нашёл практически идентичный вашему примеру код, и кажется даже понял как он работает (кстати для версий 2.4.1 и 2.5.5 он одинаков). Только в K2 эта часть  начинается с  if(window ie)... далее, как у вас.. и  в конце цвет присвоен, синий  :o  Попытки стереть if(...)ie, поменять цвет, подставить значения и т.д. ни к чему меня не привели. Отображение в листе упорно не меняется никак. А постанова с CSS окончательно загнулась. Мой хром видит в свойствах CSS донельзя подозрительное свойство "graytext"  ^-^ но локализовать его не получается, поиск в файлах ничего не даёт.  Более всего странно то, что и в интернете решения близкого нету, неужели только меня эта фишка напрягает ? Eclipseggg подключайся тоже pls.
« Последнее редактирование: 01.04.2012, 22:05:54 от akusin »
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
сейчас посмотрим)
*

akusin

  • Новичок
  • 7
  • 0 / 0
Спецы, ну пожалуйста помогите разобраться. Три дня уже сижу... Итак у нас в components\com_k2\views\item\tmpl\form.php присутствует код:
 
Код
if(window.ie){
var disabledOptions=$$('#catid option[disabled]');
$each(disabledOptions, function(option){
option.setStyle('color', '#808080');
});
}
808080- это то что FireBug видит как rgb (128,128,128), а chrome как "graytext", я там выше стеганул что он синий- но не там просто посмотрел .. То что предлагает SDKiller конечно просто и красиво, но это не работает ( у меня 100%)  :(  Равно как и замена цвета на другой. Подскажите почему может не работать ?
« Последнее редактирование: 03.04.2012, 23:07:47 от akusin »
*

SDKiller

  • Moderator
  • 2706
  • 329 / 5
  • ...ergo sum
Не надо менять там ничего в оригинальном яваскрипт, просто добавить дополнительно.

Версия К2 какая? Потому что form.php была в 2.4.1
Если у вас сейчас 2.5+ - то поэтому и не работает - там уже itemform.php. А файл form.php мог остаться после обновления поверх старой.

А в 2.5 я не смотрел - может быть там id этого селекта другой.

Кроме того, вы говорите про редактирование с фронта - не забываем про переопределение шаблонов.
Может у вас шаблоны К2 лежат в templates/ваш_шаблон/html а вы редактируете файл в components/com_k2/templates
*

al111

  • Осваиваюсь на форуме
  • 11
  • 1 / 0
akusin Как оно? получилось что-нибудь?
Присоединясь к вопросу! категорий аж 200 штук и это еще не конец. Редакторы тихонько матерятся.
« Последнее редактирование: 05.04.2012, 05:18:01 от al111 »
*

akusin

  • Новичок
  • 7
  • 0 / 0
SDKiller: option disabled="disabled" (firebug) - это id селекта ? До экспериментов пока не дошёл, работа отнимает всё свободное время, недосыпаю :(  al111, так и я ведь про что...  Вообще странно что подобного рода "системный" вопрос миновал внимание сообщества.
« Последнее редактирование: 05.04.2012, 08:54:24 от akusin »
*

SDKiller

  • Moderator
  • 2706
  • 329 / 5
  • ...ergo sum
SDKiller: option disabled="disabled" (firebug) - это id селекта ?

id селекта если верить старому скрипту #catid

У меня вот тоже руки не дошли до того как это в 2.5 - давно никто не хотел давать доступ с фронта юзерам, а разворачивать специально некогда.
*

al111

  • Осваиваюсь на форуме
  • 11
  • 1 / 0
administrator/components/com_k2/elements/itemform.php


- это оно?

<script type="text/javascript">
   window.addEvent('load',function() {

      var disabledOptions=$$('#catid option[disabled]');
      $each(disabledOptions, function(option){
         option.setStyle("display","none");
      });
   });
</script>
« Последнее редактирование: 06.04.2012, 03:27:52 от al111 »
*

al111

  • Осваиваюсь на форуме
  • 11
  • 1 / 0
Доперлоооо! ;D

components/com_k2/templates/default/itemform.php

89 строка

<td class="adminK2RightCol">

вставляем
Код
<script type="text/javascript">
   window.addEvent('load',function() {

      var disabledOptions=$$('#catid option[disabled]');
      $each(disabledOptions, function(option){
         option.setStyle("display","none");
      });
   });
</script>
   
преред этим                        
<?php echo $this->lists['categories'];
?>

 yes! *DRINK* 8)
« Последнее редактирование: 10.04.2012, 01:29:33 от SDKiller »
*

al111

  • Осваиваюсь на форуме
  • 11
  • 1 / 0
блин. этот скрипт не хочет работать в опере.
Функция addEvent не вполне соответствует стандартам оперы.

чем можно заменить эту функцию кто подскажет?
« Последнее редактирование: 11.04.2012, 10:50:16 от al111 »
*

akusin

  • Новичок
  • 7
  • 0 / 0
al111 Ай ты да красава !! Такую штуку промутил !  *DRINK* :D Спасибо огромное. Я в моменте оперу подгонять замучался, поэтому забил, из моих, судя по опросам ей очень мало кто пользуется, или ты про mobile ? Парни, также спасибо всем кто участвовал, а я пошёл учить PHP...
*

al111

  • Осваиваюсь на форуме
  • 11
  • 1 / 0
Да незашто ). У меня человек 80 в конторе которые сайт юзают на опере сидят.
 Ктонибудь помогите с этой долбаной функцией addEvent. Чем ее заменить можно.
Или как этот скрипт адаптировать под всю фигню мира?

P.S.

В 9 IE тоже не работает. В других не проверял.
« Последнее редактирование: 12.04.2012, 02:31:04 от al111 »
*

SDKiller

  • Moderator
  • 2706
  • 329 / 5
  • ...ergo sum
Функция addEvent не вполне соответствует стандартам оперы.

Каким стандартам оперы?
Это библиотека моотулз, которая кроссбраузерная по определению, а addEvent в J где только не используется.
Надо ошибки в консоли смотреть.
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Ребят как промутите кроссбраузерность отпишите лады)))
*

chernblx

  • Захожу иногда
  • 262
  • 2 / 0
Ребят, ну что никто не справился с оперой и IE ? Может есть другое решение, подскажите? На IE мне глубоко пофиг, а вот с оперой хотелось бы решить проблему.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка PHP regular expression limit reached при добавлении материала с фронта для К2

Автор tsirik

Ответов: 24
Просмотров: 16578
Последний ответ 23.03.2015, 18:55:29
от gama7
Вывод категорий К2 на главной странице

Автор bossfor

Ответов: 1
Просмотров: 1369
Последний ответ 03.03.2014, 14:44:40
от niggatub
Вывод категорий К2 с выводом дочерних категорий

Автор Igoritaly

Ответов: 0
Просмотров: 1292
Последний ответ 28.04.2013, 01:00:32
от Igoritaly