ADSMANAGER запрет добавления в корнвые категории, через столбец таблицы БД.

Тема в разделе "Установка и обновление расширений Joomla", создана пользователем sadygan, 07.07.2011.

  1. Offline

    sadygan Недавно здесь

    Регистрация:
    14.06.2009
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Для запрещения добавления объявления в корневую категорию нашел решение данной проблемы в файле: /components/com_adsmanager/views/edit/view.html.php добавлением условия <?php if ($id == 1) { echo "disabled='disabled'"; } ?> но проблема в том что данное условие блокирует только самые главные корневые каталоги, а в случаях когда они не имеют вложеных нужно разрешить в них добавление... также необходимо запретить все каталоги которые имеют подкаталоги...

    Код (PHP):
    1. function selectCategories($id, $level, $children,&$catid,$root_allowed,$link,$current_cat_only =0) {
    2.         if (@$children[$id]) {
    3.             foreach ($children[$id] as $row) {
    4.                 if (($root_allowed == 1)||(!@$children[$row->id])) {
    5.                     if ($current_cat_only == 0)
    6.                     {?>
    7.                     <option value="<?php echo JRoute::_("$link&catid=".$row->id); ?>" <?php if ($row->id == $catid) { echo "selected='selected'"; } ?>
    8.                     <?php if ($id == 1) { echo "disabled='disabled'"; } ?>>
    9.                     <?php echo $level.$row->name; ?>
    10.                     </option>
    11.                     <?php
    12.                     }
    13.                     else if ($row->id == $catid)
    14.                     {
    15.                         echo $level.$row->name;
    16.                     }
    17.                 }
    18.                 $this->selectCategories($row->id, $level.$col->name."&nbsp;&nbsp;&nbsp;&nbsp;", $children,$catid,$root_allowed,$link,$current_cat_only);
    19.             }
    20.         }
    21.     }


    Для решения данной проблемы добавил в таблицу хранящую данные о категориях "jos_adsmanager_categories" столбец "rootcat" (root category) со значениями 1 или 0 .... также добавил в админку в шаблон добавления категории: /administrator/components/com_adsmanager/views/admin/tmpl/editcategory.php

    Код (PHP):
    1. <tr>
    2. <td><?php echo "Категория имеет вложения?"; ?></td>
    3. <td>
    4. <select name="rootcat" id="rootcat">
    5. <option value="1" <?php if (@$this->row->rootcat == 1) { echo "selected"; } ?>><?php echo "Да"; ?></option>
    6. <option value="0" <?php if (@$this->row->rootcat == 0) { echo "selected"; } ?>><?php echo "Нет"; ?></option>
    7. </select>
    8. </td>
    9. </tr>


    В вышеупомянутую функцию внес изменения: (добавил переменную $rootcat в условие)

    Код (PHP):
    1. function selectCategories($id, $level, $children,&$catid,$root_allowed,$link,$current_cat_only =0, $rootcat) {
    2.         if (@$children[$id]) {
    3.             foreach ($children[$id] as $row) {
    4.                 if (($root_allowed == 1)||(!@$children[$row->id])) {
    5.                     if ($current_cat_only == 0)
    6.                     {?>
    7.                     <option value="<?php echo JRoute::_("$link&catid=".$row->id); ?>" <?php if ($row->id == $catid) { echo "selected='selected'"; } ?>
    8.                     <?php if ($rootcat == 1) { echo "disabled='disabled'"; } ?>>
    9.                     <?php echo $level.$row->name; ?>
    10.                     </option>
    11.                     <?php
    12.                     }
    13.                     else if ($row->id == $catid)
    14.                     {
    15.                         echo $level.$row->name;
    16.                     }
    17.                 }
    18.                 $this->selectCategories($row->id, $level.$col->name."&nbsp;&nbsp;&nbsp;&nbsp;", $children,$catid,$root_allowed,$link,$current_cat_only);
    19.             }
    20.         }
    21.     }


    На этом этапе возникли проблемы с подключением и запросами к БД.... не получается ни добавить не извлечь из базы значение $rootcat... Уважаемые форумчане подскажите пожалуйста куда эти запросы добавлять в router.php и как получить к ним доступ из view.html.php и editcategory.php? если у кого есть догадки или мысли по этому поводу прошу поделится, может кто-то знает лучше решение?...
     
  2.  
  3. Offline

    sadygan Недавно здесь

    Регистрация:
    14.06.2009
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Неужели всё так печально?
     

Поделиться этой страницей

Загрузка...