Composer

Любая помощь по установке/настройке/модификации concrete5

Composer

Сообщение sergio11ofpp » 02 сен 2013, 02:07 ,  »  Сообщение:#1

Добрый день.
Сделал Composer для юзеров... Что любой зарегестрированный смог добавить Статью.
Всё работает но проблема вот в чём:
Когда в Composere Юзер пытается выбрать Parent Page Пишет что Нет доступа.
Тогда я в Sitemap Сделал права Юзерам что можно добовлять и Композер заработал
НО если Юзер теперь на этой странице нажимает EDIT он может добавить страницу отуда.
Вопрос можно как нибудь это обойти?
То есть разрешить добавление страниц только через Composer??Чтоб не было Add Page.
sergio11ofpp
 
Сообщения: 53
Зарегистрирован: 05 июл 2013, 12:00

Re: Composer

Сообщение Count_Raven » 02 сен 2013, 19:35 ,  »  Сообщение:#2

Я бы сделал юзерам вообще свой интерфейс.
Т.е. написал бы им собственный Composer.
Код, если лень заморачиваться, то уже есть - все тот же Composer.
Дел, думаю, часа на 2.

А в вашем случае, боюсь, не получится без "Add Page". Если, конечно, я все правильно понимаю из вашего сообщения.
Либо (что больше заморочек добавляет, на мой взгляд, чем свой интерфейс), перегрузите controllers, views и elements своими. Т.е. делайте проверку, и определенным юзверям (ну группе юзверей) показывайте кнопку, другим не показывайте.
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

Re: Composer

Сообщение sergio11ofpp » 02 сен 2013, 20:34 ,  »  Сообщение:#3

ммм думаю вы правы да и давать все заходи в Dashboard тоже не хочется...
Я уже писал подобное вот пример
Код: Выделить всё
        $p_name = 'new page'
        $handle = str_replace(' ', '_', $p_name);
        $dt = Loader::helper('form/date_time'); //current date
   $ct = CollectionType::getByHandle('Products'); // page type
   // array of data
   $data = array();
   $data['uID'] = 1;
   $data['pkgID'] = 0;
        $data['cName'] = $p_name;
        $data['cHandle'] = $handle; /url
        $data['cDatePublic'] = $dt->translate('cDatePublic');

$page  = Page::getByPath('/home'); // под чем добавить Parent Page
$newpage = $page->add($ct, $data);
если нужны аттрибуты
$newpage->setAttribute('city', $city);


Я в правельном направлении :):):)
sergio11ofpp
 
Сообщения: 53
Зарегистрирован: 05 июл 2013, 12:00

Re: Composer

Сообщение sergio11ofpp » 02 сен 2013, 20:46 ,  »  Сообщение:#4

Таким способо я делаю страницу и присваиваю к юзера там длаее можно создать pagelist чтоб юзер просматривал Добавленные страницы.. я так думаю...
Потом надо будет какнить пририлить голосование только раз в 24 часа юзерам...
Я просто создаю вот это:
извините за ссылку удалите если нарушаю правила
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку

Там стоит Cncat Вообще не нравится мне Concrete5 роднее как то на работе только с ней и работаем...
Вот думаю запилить каталог на Concrete5 тут проба лежит cs.cheaterov.net
sergio11ofpp
 
Сообщения: 53
Зарегистрирован: 05 июл 2013, 12:00

Re: Composer

Сообщение Count_Raven » 02 сен 2013, 21:34 ,  »  Сообщение:#5

Ссылки на работы на Concrete5 мы только приветствуем =)

Голосование - это просто. Есть встроенное, есть еще у меня один бесплатный не до конца дописанный модулец (там еще доделать надо, а то в голосовании с множеством ответов счетчик считает каждый выбранный вариант за голос, все руки не доходят поправить).

Каталог можно делать на базе страниц. Т.е. каждый товар/элемент в каталоге, это страница. А PageList уже практически позволяет отображать список элементов каталога. Остается допилить под себя и сделать модифицированный PageList - вот вам и каталог. Все эти вещи обычно час-два работы. Можно пачками штамповать модификации, основываясь на стандартных объектах системы. Либо создавать (я как раз страницы не пользую за объекты, я свои модели делаю) на базе DatabaseItemList списки объектов, модели для объектов можете взять к примеру от той же Collection или File и для их list'ов также. Имею ввиду чтобы посмотреть их стандартное устройство. Все стандартное окружение уже готово. Кэширование вывода очень простое и удобное тоже уже предусмотрено. Все есть готовое в системе.
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

Re: Composer

Сообщение sergio11ofpp » 02 сен 2013, 23:47 ,  »  Сообщение:#6

Да я так и хотел на основе Страниц
То есть страница - продукт со своими аттрибутами.

Ну 2 часа для вас )) я медленно всё делаю))))

В общем сделал так создал Single Page и закрыл доступ на неё просматривать могут только зарегестрированные.
Щас добавлю туда форму добавление страницы с атрибутамы
Единственно не смогу сделать загрузку файла.(Но это потом)
sergio11ofpp
 
Сообщения: 53
Зарегистрирован: 05 июл 2013, 12:00

Re: Composer

Сообщение Count_Raven » 03 сен 2013, 12:57 ,  »  Сообщение:#7

А что с загрузкой файлов не так?
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

Re: Composer

Сообщение sergio11ofpp » 03 сен 2013, 13:13 ,  »  Сообщение:#8

Не пойму как совместить выше написанное с File managerom И чтоб загруженный файл сразу присваивался атрибутом к созданной странице.
sergio11ofpp
 
Сообщения: 53
Зарегистрирован: 05 июл 2013, 12:00

Re: Composer

Сообщение Count_Raven » 03 сен 2013, 13:21 ,  »  Сообщение:#9

Ну, в Concrete5 есть же тип атрибута Image/File.
Что касается доступа к File Manager для всех, то я бы так не делал.
По мне это видится так (если, конечно, я правильно понимаю идею):
Пользователь закачивает файл. Файл автоматически добавляется в Набор (Группу/File Set, кто как называет в разных переводах) с именем к примеру Files of User [ТУТ ID ПОЛЬЗОВАТЕЛЯ, т.е. $u->getUserID()]. Т.е. у каждого пользователя его файлы хранятся в личном наборе. И сделать маленький менеджер файлов, где пользователь сможет управлять только своими файлами.
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

Re: Composer

Сообщение sergio11ofpp » 03 сен 2013, 13:24 ,  »  Сообщение:#10

То есть не давать доступ к File Manager а если нет доступа как загружать файлы будут?
sergio11ofpp
 
Сообщения: 53
Зарегистрирован: 05 июл 2013, 12:00

Re: Composer

Сообщение Count_Raven » 03 сен 2013, 13:59 ,  »  Сообщение:#11

Ну вы предоставите пользователю форму для загрузки файла и обработаете полученный файл как надо. PHP-то пофигу, у него везде будет доступ ко всему, чему угодно. Доступ заключается лишь в том, что пользователь не будет иметь доступа к менеджеру файлов. Это же внутренний пользователь Concrete5, он же к системе сервера никакого отношения не имеет. На PHP вы можете творить что хотите и беспределить и никто вам это не запретит.
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant

Re: Composer

Сообщение sergio11ofpp » 03 сен 2013, 14:01 ,  »  Сообщение:#12

Ясно вечером когда форму буду делать попробую..)) Спасибо.
sergio11ofpp
 
Сообщения: 53
Зарегистрирован: 05 июл 2013, 12:00


Вернуться в Помощь по concrete5

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

cron