Сразу извиняюсь перед администрацией может тему не там прикрепил если не там перенесите Спасибо
Смысл такой перерыл пол интернета перепробовал кучу плагинов для ждумлы для создания и ведения блога на сайте -- но ничего более мене путного так и не нашел везде что то да не устраивало!
Стандартными средствами ждумла тоже попробовал это реализовать с помощью
Шаблон отправки материала но там есть свои подводные камни -- Автор может писать статьи куда ему заблагорассудится --но надо чтобы мог писать контент в специально отведенный ему раздел , категорию.
И вот ЧУДО

в инете нашел такую статью
Каждому пользователю отдельный раздел
вот вариант того, как можно каждому пользователю (тип пользователя Manager или Управляющий) Joomla дать доступ на отдельный раздел содержимого
ищем файл administrator\components\com_content\controller.php
//прячем статьи которые созданы другими пользователями
в функции viewContent()
добавляем $user =& JFactory::getUser();
ищем строку
$filter_authorid=$mainframe->getUserStateFromRequest($context.'filter_authorid','filter_authorid',0,'int' );
и заменяем ее на
if ($user->usertype=='Manager')
{$filter_authorid = $user->id;}
else {$filter_authorid=$mainframe->getUserStateFromRequest( $context.'filter_authorid','filter_authorid', 0, 'int' );};
//в архиве чужие статьи тоже прячем
дальше ищем функцию viewArchive()
добавляем
$user =& JFactory::getUser();
сразу после $db =& JFactory::getDBO();
заменяем строку
$filter_authorid=$mainframe->getUserStateFromRequest("$option.$sectionid.viewarchive.filter_authorid",'filter_authorid',0,'int');
на
if ($user->usertype=='Manager')
{ $filter_authorid=$user->id;}
else{ $filter_authorid=$mainframe->getUserStateFromRequest("$option.$sectionid.viewarchive.filter_authorid",'filter_authorid',0,'int'); };
//при редактировании или создании разрешаем писать только в заранее отведенные разделы и соответствующие категории данного раздела
ищем функцию editContent($edit)
сразу после
$db= & JFactory::getDBO();
вставляем
$user= & JFactory::getUser();
проверяем может ли пользователь писать хотя бы в один раздел
после $sectionid= 0;
вставляем
if ($user->usertype=='Manager')
{ $query="SELECT id FROM jos_sections WHERE iduser=".$user->id;
$db->setQuery($query);
$sectid=$db->loadResultArray(0);
$sectionid = $sectid[0];
if ($sectionid=='')
{ JError::raiseError( 403, JText::_("ALERTNOTAUTH") );
}
}
else {$sectionid=0;};
ищем строку (примерно №484)
$javascript = "onchange=\"changeDynaList('catid',sectioncategories,document.adminForm.sectionid.options[document.adminForm.sectionid.selectedIndex].value, 0, 0);\"";
и заменяем $query = 'SELECT s.id, s.title' . ' FROM #__sections AS s'. ' ORDER BY s.ordering';
на
if ($user->usertype=='Manager' )
{ $query = 'SELECT s.id, s.title' . ' FROM #__sections AS s WHERE iduser='.$user->id. ' ORDER BY s.ordering';}
else {$query = 'SELECT s.id, s.title' . ' FROM #__sections AS s'. ' ORDER BY s.ordering'; };
ищем строку
$sections[] = JHTML::_('select.option', '0', JText::_('Uncategorized'), 'id', 'title');
и заменяем на
if ($user->usertype=='Manager' )
{ $sections[] = JHTML::_('select.option', '0', JText::_('Uncategorized'), 'id', 'title',true); }
else {$sections[] = JHTML::_('select.option', '0', JText::_('Uncategorized'), 'id', 'title');};
запрещаем создать статью от имени кого-либо,для этого идем в файл
administrator\components\com_content\models\article.xml
и убираем строку №5
осталось манагеру запретить создавать новые категории и разделы,для этого идем в файл
administrator\modules\mod_quickicon\mod_quickicon.php
ищем там div id="cpanel"
добавляем туда
$user=&JFactory::getUser();
вставляем
if ($user->usertype!='Manager') {
перед строками
$link = 'index.php?option=com_sections&scope=content'; quickiconButton( $link, 'icon-48-section.png', JText::_( 'Section Manager' ) );
$link = 'index.php?option=com_categories§ion=com_content'; quickiconButton( $link, 'icon-48-category.png', JText::_( 'Category Manager' ) );
и не забываем }; после них
осталось запретить создание разделов и категорий в выпадающем меню для этого идем
administrator\components\com_categories\admin.categories.php
ищем функцию showCategories( $section, $option )
после $db .....
вставляем
$user=&JFactory::getUser();
if ($user->usertype=='Manager')
{JError::raiseError( 403, JText::_("ALERTNOTAUTH") ); };
также точно делаем для файла
administrator\components\com_sections\admin.sections.php
для того чтобы создать пользователя и дать ему определенный раздел нужно создать пользователя с типом Manager или Управляющий
скачать и установить компонент http://twoysoft.ru/download/joomla/com_usersections.zip в компонентах администратора появится пункт "Пользователи разделов" где и задается привязка юзеров к разделам
Я уже было обрадовался что можно создать блог практически не пользуясь всякими сторонними предложениями но меня почему изменения не срослись--возможно я где то допустил ошибку. Прошу СПЕЦОВ поюзать данные изменения может где то ошибка или можно что то лучше сделать.
Представьте себе блог новостей со своим любимым JComments
