it-swarm-vi.com

Lọc các nhóm người dùng được tải trong com_config

Theo dõi bài viết trước của tôi , cố gắng làm cho tải của thành phần cấu hình nhẹ hơn. Vì, phần lớn các nhóm người dùng của tôi là con của nhóm người dùng đã đăng ký và thừa hưởng các quyền tương tự, tôi không cần chúng để được tải trong com_config.

Như một giải pháp thay thế, tôi đang tìm cách lọc chúng ra, bằng cách hack mã lõi. Tôi đã thử với một vị trí trong hàm getUserGroups() trong: /administrator/components/com_config/models/fields/filters.php, Cũng như trong

`/administrator/components/com_config/model/fields/filters.php` .

Hàm trở nên như sau:

protected function getUserGroups()
    {
        // Get a database object.
        $db = JFactory::getDBO();
        // Get the user groups from the database.
        $query = $db->getQuery(true);
        $query->select('a.id AS value, a.title AS text, COUNT(DISTINCT b.id) AS level');
        $query->from('#__usergroups AS a');
        $query->join('LEFT', '#__usergroups AS b on a.lft > b.lft AND a.rgt < b.rgt');
        $query->where('a.parent_id != 2');
        $query->group('a.id, a.title, a.lft');
        $query->order('a.lft ASC');
        $db->setQuery($query);
        $options = $db->loadObjectList();
        return $options;
    }

Nhưng những thay đổi này dường như không có tác dụng trong việc tải các nhóm của com_config. Tôi đã thực hiện cùng một thay đổi trong /libraries/joomla/form/fields/rules.php Và điều này lọc ra các nhóm đó. Nhưng tôi e rằng điều này có thể hoạt động trên toàn cầu trong những gì u.groups Joomla sẽ thấy, ảnh hưởng đến một số thành phần mà tôi cần để xem các u.group đó.

Lúc đầu, tại sao hack trên hàm com_config getUsergroups() không có hiệu lực? Tôi nên làm gì để đạt được bộ lọc của mình ở đó? Thứ hai, tôi có đúng không khi xem xét rằng sửa đổi thứ hai của mình sẽ che giấu các nhóm đó từ mọi nơi trong Joomla?

1
FFrewin

Tôi đã kết thúc bằng cách hack các quy tắc.php bên trong:

/lologists/j Joomla/form/field/rr.php

Vì nó được ghi lại bên trong tệp, đây là lớp biểu mẫu để gán quyền cho các nhóm cho một tài sản nhất định.

getUserGroups() trong com_config dường như không làm gì cho việc tải các nhóm quyền, nhưng nó được sử dụng cho các nhóm trong phần bộ lọc (rõ ràng).

Kiểm tra com_users, tôi vẫn có thể thấy các nhóm người dùng bổ sung của mình và có lẽ tôi vẫn sẽ có quyền truy cập cần thiết cho các nhu cầu khác của mình.

Vì vậy, trong trường hợp của tôi, hack lõi nhỏ này sẽ giúp tôi tiếp tục, cho đến khi Joomla đưa ra một giải pháp tốt hơn. Tất nhiên nó không thể duy trì được. Tôi nên làm lại thủ công sau khi cập nhật.

0
FFrewin