Вечер добрый.
Подскажите пожалуйста, где поправить код правильно и без последствий… чтобы создавать личные папки, могли только пользователи из группы vip?
Тут вся магия? \system\controllers\content\actions\item_add.php
// Если включены личные папки - получаем их список $folders_list = []; if ( $ctype[ 'is_folders' ] ) { $folders_list = $this->model->getContentFolders( $ctype[ 'id' ], $this->cms_user->id ); $folders_list = array_collection_to_list( $folders_list, 'id', 'title' ); if ( $this->request->has( 'folder_id' ) ) { $item[ 'folder_id' ] = $this->request->get( 'folder_id', 0 ); } } // Получаем поля для данного типа контента $fields = $this->model->orderBy( 'ordering' )->getContentFields( $ctype[ 'name' ] ); $form = $this->getItemForm( $ctype, $fields, 'add', [ 'folders_list' => $folders_list ] );
Получается так.
\system\controllers\content\frontend.php
// Если включены личные папки, добавляем в форму поле выбора личной папки if ( $this->cms_user->isInGroup( 7 ) || $this->cms_user->is_admin ) { if ( $ctype[ 'is_folders' ] ) { $folders = [ '0' => '' ]; $folders += $folders_list; } $form->addField( $fieldset_id, new fieldList( 'folder_id', [ 'items' => $folders ] ) ); $form->addField( $fieldset_id, new fieldString( 'new_folder', [ 'title' => LANG_ADD_FOLDER_QUICK ] ) ); } }
if ( $this->cms_user->isInGroup( 7 ) || $this->cms_user->is_admin ) {
Если в группе №7 или Администратор, вывести форму создания/выбора списка директорий
Вроде работает 🤠