Изменение отображания категорий в Админ панели VirtueMart

Тема в разделе "Хаки и модификации", создана пользователем legenda, 20.10.2011.

  1. Offline

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

    Регистрация:
    20.10.2011
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    Господа. Столкнулся с проблемой записи выбранной категории в бд.
    Есть файл ps_product_category.php (/administrator/components/com_virtuemart/classes/ps_product_category.php)

    Я переделал структуру отображения и выбора категорий для товара. Вместо select я сделал checkbox.

    function list_tree($category_id="", $cid='0', $level='0', $selected_categories=Array(), $disabledFields=Array() ) {

    $ps_vendor_id = $_SESSION["ps_vendor_id"];
    $db = new ps_DB;

    $level++;

    $q = "SELECT category_id, category_child_id,category_name FROM #__{vm}_category,#__{vm}_category_xref ";
    $q .= "WHERE #__{vm}_category_xref.category_parent_id='$cid' ";
    $q .= "AND #__{vm}_category.category_id=#__{vm}_category_xref.category_child_id ";
    $q .= "AND #__{vm}_category.vendor_id ='$ps_vendor_id' ";
    $q .= "ORDER BY #__{vm}_category.list_order, #__{vm}_category.category_name ASC";
    $db->setQuery($q); $db->query();

    while ($db->next_record()) {
    $child_id = $db->f("category_child_id");
    if ($child_id != $cid) {
    // $selected = ($child_id == $category_id) ? "selected=\"selected\"" : "";
    $selected = ($child_id == $category_id) ? "checkbox=\"checkbox\"" : "";
    if( $selected == "" && @$selected_categories[$child_id] == "1") {
    // $selected = "selected=\"selected\"";
    $selected = "checked=\"checked\"";
    }
    $disabled = '';
    if( in_array( $child_id, $disabledFields )) {
    $disabled = 'disabled="disabled"';
    }
    if( $disabled != '' && stristr($_SERVER['HTTP_USER_AGENT'], 'msie')) {
    // IE7 suffers from a bug, which makes disabled option fields selectable
    } else {
    // echo "<option $selected $disabled value=\"$child_id\">\n";
    echo "<input type=\"checkbox\" name=\"cat_$child_id\" value=\"$child_id\" $selected $disabled/>";
    for ($i=0;$i<$level;$i++) {
    echo "—";
    }
    echo "|$level|";
    // echo "&nbsp;" . $db->f("category_name") . "</option>";
    echo "&nbsp;" . $db->f("category_name")."<br />" ;
    }
    }
    $this->list_tree($category_id, $child_id, $level, $selected_categories, $disabledFields);
    }
    }

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

    Может в другом файле, кто сталкивался с подобным подскажите, хде происходит запись выбранной категории в базу...
     
  2.  

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

Загрузка...