Итак, разрешим гостям публиковать материал.
Не буду заимствовать сторонние модули, а поправлю пару строчек (в двух файлах) чтобы гости смогли публиковаться.
Правки делались на "коленке" но работают.
Вся это делается для Instant Cms 2.
Открываем /system/controllers/content/actions/item_add.php и заменяем строчку номер 13 на
Тут же после страницы 213:
вставляем строчку:
и тут мы системе объясняем, что если мы работаем с контентом "pages" и пользователя определить не возможно то после опубликования переси нас на страницу "stranica.html", потому, что мы не авторизованный пользователь, и если перенести нас на опубликованную страницу то нам покажет "404" (если в настройках стоит премодерация).
Потом открываем файл: /system/controllers/content/model.php и заменяем строчку номер 1140 на:
где говорится, что если пользователя определить нельзя, то пусть это будет пользователь с id=13 которого мы заранее зарегистрировали в нужной группе с нужными правами.
и тут же стройку 1158
меняем на
Дальше, если не зарегистрированный пользователь захочет добавить контент "pages" то по ссылке /pages/add ему не будет показываться страница 404 а будет показываться полноценная страница, а после добавления будет перебрасывать на страницу /pages/stranica.html (это можно тут же поменять), которую надо создать и написать на ней например "Материал добавлен, и после проверки будет опубликован."
Тут две главных переменных, от кого публковать материал и в каком типе материала использовать.
Тестирова на стандартных типах контента — работает. Если что отпишитесь.
Думаю 3 правки это не страшно для работы.
Долго искал решение пришлось придумать самому.
Если кому помог вот контейнер для любых количеств спасибок: photostake.ru/shop/14.html
Не буду заимствовать сторонние модули, а поправлю пару строчек (в двух файлах) чтобы гости смогли публиковаться.
Правки делались на "коленке" но работают.
Вся это делается для Instant Cms 2.
Открываем /system/controllers/content/actions/item_add.php и заменяем строчку номер 13 на
if (!cmsUser::isAllowed($ctype_name, 'add') && $ctype_name != 'pages') { cmsCore::error404(); }
тем самым мы указываем что если в компоненте "pages" незарегистрированный пользователь захочет зайти на страницу добавления материала как незарегистрированный пользователь, то система ему не откажет и пропустит дальше незарегистрированного пользователя
Тут же после страницы 213:
if ($back_url){ $this->redirect($back_url); } else {
if ($ctype_name == 'pages' && !$user->id) { $ctype_name = 'pages'; $item['slug'] = 'stranica'; }
Потом открываем файл: /system/controllers/content/model.php и заменяем строчку номер 1140 на:
if ($user->id) { $item['user_id'] = $user->id; } else { $item['user_id'] = 13; }
и тут же стройку 1158
$folder_id = $this->addContentFolder($ctype['id'], $user->id, $item['new_folder']);
$folder_id = $this->addContentFolder($ctype['id'], $item['user_id'], $item['new_folder']);
Тут две главных переменных, от кого публковать материал и в каком типе материала использовать.
Тестирова на стандартных типах контента — работает. Если что отпишитесь.
Думаю 3 правки это не страшно для работы.
Долго искал решение пришлось придумать самому.
Если кому помог вот контейнер для любых количеств спасибок: photostake.ru/shop/14.html
Реклама #
Сергей 9 лет назад #
Kreator 9 лет назад #
Kreator 9 лет назад #
Сергей 9 лет назад #
Kreator 9 лет назад #
Не проверял, должно работать. Нужно больше перечисляйте дальше через ||
Сергей 9 лет назад #
Kantona 9 лет назад #
Brut 9 лет назад #
Kreator 9 лет назад #
Я создал пользователя с логином "Гость" и указал его id
o5Tolik 9 лет назад #
Kreator 9 лет назад #
o5Tolik 9 лет назад #
o5Tolik 9 лет назад #
fanat21 9 лет назад #
wonderer22 9 лет назад #
Но только начал, буду дальше тестировать
Фёдор 9 лет назад #
ph3no 8 лет назад #
Михаил 8 лет назад #
Все правки делаем так как описал автор кроме:
Всё.
Ещё сильно не тестил, но вроде работает. Если у кого время будет потестить посмотрите пожалуйста у меня. Если увидите что что-то не так работаете напишите самому интересно.
Сергей 8 лет назад #
Oleg_z75 8 лет назад #
Удалось ли кому то реализовать данную функцию для объявлений?
Def 8 лет назад #
Скела 8 лет назад #
Def 7 лет назад #
Def 7 лет назад #
o5Tolik 7 лет назад #
Kreator 7 лет назад #
Radu 7 лет назад #
Mari 7 лет назад #
как видно на скрине, оно есть но, для модерации оно не открывается.
Как решить данную проблему?
ethno 7 лет назад #
sindoyun 7 лет назад #
al955 6 лет назад #
Kreator 6 лет назад #
PiBot 6 лет назад #
Vyacheslav 6 лет назад #
Если по беспределу гостям руки развязывать, и разрешить еще и фото загружать, то правил файл - system/controllers/images/frontend.php, функция - actionUpload
SmartControl 6 лет назад #