Здравствуйте, уважаемые веб-программисты! Нужно, чтобы у зарегистрированного пользователя сайта была своя страничка, на которой отображались бы все произведения, опубликованные этим пользователем. Подскажите, пожалуйста, как это можно осуществить?
Есть два варианта для твоей задачи: 1. Средствами самой джумлы Изменить права группы для зарегистрированных, разрешив добавление материалов. Изменить группу для новых пользователей на Автор. И вывести ссылку на добавление материала, скрыв ее от незарегистрированных пользователей. 2. Установить сторонний компонент Вот один из примеров, с помощью которого можно такое реализовать - Article factory manager Или поищи на JED'e - вот смотри, выбирай
Zulus, извините, не совсем чётко сформулировала свой вопрос. Страничка у пользователя уже есть (если быть точнее, то у него есть свой личный кабинет). Так вот, нужно, чтобы на одной из страниц этого личного кабинета, автоматически выводился список всех произведений, опубликованный данным автором. Я посмотрела то, что вы предлагаете - это платно, поэтому не подходит. Может быть, вы знаете какой-то бесплатный модуль для этого? Или какой-то код или скрипт, который можно вставить в нужное место? Вот сама страничка-оригинал (сайт стихи.ру): http://vk.com/irinkapelsinka?z=photo304500865_374188679/photos304500865 Вот то, что я сделала: http://vk.com/irinkapelsinka?z=photo304500865_374189006/photos304500865 Нужно, чтобы под словами "Произведения, не вошедшие в сборники" выводился список произведений автора сайта. Как это должно выглядеть вы видите. Вот как это можно осуществить? Подскажите, пожалуйста!
Понятно. Но то что ты хочешь силами самой джумлы не сделать. Или модуль дополнительный ставить (искать зануленый) или попробовать сделать по аналогии как сделал wedal у себя с помощью seoblod. Вот цитата вопроса: Здесь ответ, с ссылкой на описание решения проблемы:
Zulus, я не сильна в терминологии, гугл с ответом не помог: зануленный модуль - это что за зверь (seoblod не хочу устанавливать, потому что прочитала, что его сносить тяжело будет, если захочется его удалить)? А что если попробовать создать собственный модуль и разместить его в тексте? Решила разбить задачу на части. Первая часть - это разместить какой-нибудь модуль (на основе уже существующих) в тексте. Вот мои действия: 1. Зашла в менеджер модулей, создала модуль с названием "Список опубликованных произведений" (Тип модуля выбрала - "Материалы-последние новости") назначила модулю позицию - position-100 2. В тексте статьи под словами "Произведения, не вошедшие в сборники" вставила конструкцию: {loadposition position-100} В итоге должен был появиться список последних опубликованных материалов (всех) на сайте. Но у меня почему-то ничего не опубликовалось. Где ошибка? Подскажите, пожалуйста!
Да, что то я немного запутал сам. Зануленый (null), это тот что не требует ключей для регистарации. В общем как вариант найти нужный модуль. Версия джумлы у тебя какая? Посмотрю, вроде бы что-то видел, но для джумлы 2,5, для третьей версии не видел откуда можно скачать. А по поводу loadposition, все правильно делаешь. Сам плагин, что выводит модули в любой части сайта, у тебя включен? P.S. Совет. Не забывай делать бекапы. Лучше перед установкой любого модуля или перед выполнением каких либо глобальных действий лучше делать полный бекап.
Джумла 2,5. Модуль с помощью loadposition вставила. Ошибка заключалась в том, что формулу первый раз вставляла через редактор JCE, вместо того, чтобы использовать редактор CodeMirror. Вот что получилось: http://vk.com/photo304500865_374266319 Первая часть задачи решена. Теперь осталась вторая часть - это сам модуль. По ходу возник вопрос: я же могу посмотреть код страницы сайта stihi.ru, можно ли оттуда вытащить код для отображения списка последних публикаций автора (сам сайт stihi.ru выполнен не на Джумле)?
Вот что-то модуля никак не найду, где был под j2.5, там уже ссылки битые. (Поищу еще на досуге, может получится найти, самому то же скоро понадобится что-то подобное). СтихиРу сделан не на джумле точно. Посмотреть то можно, но как ты это себе представляешь? Проблема в том, что это должно работать как фильтр, т.е. идет вывод всех статей и при этом, для показа статей одного автора, того кто залогинился, идет фильтрация. И что бы правильно отфильтровать, надо получить id этого автора, о чем выше было написано на примере seoblod.
Zulus, на одном из форумов мне посоветовали установить flexi custom code, создать модуль с типом "flexi custom code" и туда поместить туда вот такой код: <?php $user = & JFactory::getUser(); if (!$user->guest) { $db = JFactory::getDBO(); $userID = $user->id; $catID = 10; // категория произведений пользователя $query = "select * from #__content where created_by = '".$userID."' and state = '1' and access = '1' and catid='".$catID."' order by ordering asc"; $db->setQuery($query); $result = $db->loadObjectList(); //print_r($result); if(count($result)){ foreach($result as $key=>$item):?> <div id="val"><?php echo $item->title; ?></div> <?php endforeach; } } ?> Я модуль создала, вот он: http://vk.com/photo304500865_374468784 Назначила модулю позицию - position-101. В тексте статьи под словами "Произведения, не вошедшие в сборники" вставила конструкцию: {loadposition position-101}. Никакого списка не отобразилось. В чём может быть ошибка, подскажите, пожалуйста! Или, может быть, вы знаете какой-то другой код модуля, который бы отображал список произведений, которые автор опубликовал на сайте? Задача, в общем-то, распространённая, как мне кажется....Должно же что-то быть... --- Добавлено, 15 июл 2015 --- На сайте будут регистрироваться сотни пользователей, поэтому нужно, чтобы у каждого автора автоматически выводился список его опубликованных произведений на сайте.
Код, который Вы привели Выше, выводит заголовки материалов текущего залогиненного пользователя. Чтобы вывести заголовки материалов пользователя, на странице которого Вы находитесь, нужно знать ID пользователя и подставить в Вашем коде вот сюда: Код: $user = & JFactory::getUser($USER_ID); ID пользователя скорее всего можно получить из URL вот таким образом (вариантов несколько, потому что мало данных): Код: $user_id = JFactory::getApplication()->input->getInt('id'); или Код: $user_id = JFactory::getApplication()->input->getInt('user_id'); или Код: $user_id = JFactory::getApplication()->input->getInt('userid');
gatsby, у меня по ходу обсуждения возник вопрос: а тем ли путём я иду? Смотрите, задача такая: создать сайт аналогичный сайту stihi.ru Нужно, чтобы на сайте был отдельный вход для авторов, нажав на который они попадают в свой кабинет. В этом кабинете у них есть личная страница с фотографией и произведениями, опубликованными на сайте, которую они могут редактировать. Эту личную страницу видят читатели. Ну вот как-то так... Как можно осуществить эту задачу на Джумла быстро и с минимальными потерями? Проект этот не финансируется, всё делаем сами. Подскажите, пожалуйста, может, есть какое-то специальное расширение? Боюсь, что с прописыванием кодов я на месяцы засяду за компьютер. Может, есть какой-то быстрый и максимально простой способ решения вопроса?
Боюсь, что Вам или придется изучать основы программирования или финансировать проект, потому что в joomla нет кнопки "Сделать круто". Нестандартные вещи, которых нет "из коробки", всегда приходится допиливать. А то, что Вы хотите - это есть немного нестандартно. То, что Вы примерно хотите, я делал в связке Easy Profile (профили пользователей) + Zoo (материалы пользователей). Но опять же мне пришлось использовать API этих двух расширений, чтобы связать их вместе. Без программирования никуда.
gatsby, код в модуле $query = "select * from #__content where created_by = '".$userID."' and state = '1' and access = '1' and catid='".$catID."' order by ordering asc"; заменила на Код $query = "select * from #__content where created_by = '".$userID."' and state = '1' and access = '1' order by ordering asc"; Список произведений отобразился. Но в итоге вопрос со списком произведений, которые автор опубликовал на сайте, решён проще: с помощью функции {loadposition position-100} в нужное место в тексте страницы вставляется модуль с названием "Список опубликованных произведений" (Тип модуля выбрала - "Материалы-последние новости"), назначила модулю позицию - position-100. Важно: в основных параметрах создаваемого модуля в пункте авторы указать "добавлены или изменены мной", вместо "кто угодно". http://vk.com/irinkapelsinka?z=photo304500865_374834090/photos304500865