Здравствуйте, уважаемые веб-программисты! Нужно, чтобы у зарегистрированного пользователя сайта была своя страничка, на которой отображались бы все произведения, опубликованные этим пользователем. Подскажите, пожалуйста, как это можно осуществить?
В К2 есть возможность вывода материалов по автору, без сторонних расширений можно использовать теги (метки материала), самый очевидный вариант поставить блоги. Не совсем понятно что имел ввиду автор топика
Код (PHP): <?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; } } ?>
@Asylum, у пользователя есть свой личный кабинет. Так вот, нужно, чтобы на одной из страниц этого личного кабинета, автоматически выводился список всех произведений, опубликованный данным автором. Вот сама страничка-оригинал (сайт стихи.ру): Вот то, что я сделала: Нужно, чтобы под словами "Произведения, не вошедшие в сборники" выводился список произведений автора сайта. Как это должно выглядеть вы видите. Я правильно поняла, что мне следует создать свой собственный модуль и вставить его в нужное месте?
@Asylum, я понимаю, что Стихира не на Джумле. Но свой сайт я делаю на Джумле (2,5). Кабинет пользователя я уже создала (точнее, создаю). Задачу решила как формирование меню, которое видно только зарегистрированному пользователю, а каждый пункт меню формируется на базе различных компонентов и функций. Само меню сформировала (вы его на картинке слева видите), оно так и называется "схема кабинета": Теперь занимаюсь наполнением этого меню. В частности, сейчас решаю задачу: как вывести список опубликованных произведений автора под строкой "Произведения, не вошедшие в сборники". Вот как-то так... --- добавлено: 14.07.2015, первое сообщение размещено: 13.07.2015 --- Если попробовать создать собственный модуль и разместить его в тексте? Решила разбить задачу на части. Первая часть - это разместить какой-нибудь модуль (на основе уже существующих) в тексте. Вот мои действия: 1. Зашла в менеджер модулей, создала модуль с названием "Список опубликованных произведений" (Тип модуля выбрала - "Материалы-последние новости") назначила модулю позицию - position-100 2. В тексте статьи под словами "Произведения, не вошедшие в сборники" вставила конструкцию: {loadposition position-100} Всё получилось: Первая часть задачи решена. Теперь осталась вторая часть - это сам модуль. Подскажите, пожалуйста, порядок действий для написания собственного модуля, который бы выводил список всех опубликованных произведений пользователя. @|title| написал какой-то код, - как я могу его использовать? Куда этот код помещать? Подскажите, пожалуйста!
@mila, установите flexi custom code, создайте модуль с типом " flexi custom code" и туда поместите мой код, произведения пользователя это просто материалы? созданные через меню "материалы" или используете какой либо компонент?
Да, произведения пользователя - это просто материалы. Создаются через меню для зарегистрированных пользователей (отдельный пункт "опубликовать", тип пункта - "создать материал").
@|title|, flexi custom code установила, модуль с типом " flexi custom code" создала, ваш код туда поместила: Назначила модулю позицию - position-101. В тексте статьи под словами "Произведения, не вошедшие в сборники" вставила конструкцию: {loadposition position-101}. Никакого списка не отобразилось. В чём может быть ошибка, подскажите, пожалуйста! --- добавлено: 15.07.2015, первое сообщение размещено: 15.07.2015 --- @draff, вы предлагаете для каждого отдельного пользователя создавать свою категорию, - я правильно вас поняла? На сайте будут регистрироваться сотни пользователей, поэтому этот вариант не подходит. Нужно, чтобы у каждого автора автоматически выводился список его опубликованных произведений на сайте. --- добавлено: 15.07.2015 --- @CB9T, не совсем вас поняла, что вы подразумеваете, когда говорите о каталоге?
Авторы добавлять произведение как будут? А так для категории и назначать права на добавление каждому автору отдельно.
@mila, измените "//print_r($result);" на "print_r($result);" должно вывести "array( )". Посмотрите id категории "произведения" и измените значение переменной $catID на айди категории, если что то да выведет адекватное "print_r($result);" удалите
На мой взгляд проще не "изобретать велосипед", а взять подходящее под задачу, с минимальным допиливанием. Посмотрите на тот же Livestreet - движок коллективных блогов
Вопрос со списком произведений, которые автор опубликовал на сайте решён таким образом: с помощью функции {loadposition position-100} в нужное место в тексте страницы вставляется модуль с названием "Список опубликованных произведений" (Тип модуля выбрала - "Материалы-последние новости"), назначила модулю позицию - position-100. Важно: в основных параметрах создаваемого модуля в пункте авторы указать "добавлены или изменены мной", вместо "кто угодно". Вот что получилось (ссылки на произведения кликабельны): --- добавлено: 18.07.2015, первое сообщение размещено: 18.07.2015 --- @|title|, Код $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"; Список произведений отобразился: Но, как выяснилось, модуль с типом - "Материалы-последние новости" больше подошёл. --- добавлено: 18.07.2015 --- Общими усилиями мы этот вопрос решили. Подскажите, пожалуйста, а каким образом теперь можно эти произведения из списка раскидать по альбомам, которые автор самостоятельно создаёт? Точнее, - что нужно сделать для того, чтобы автор мог создавать самостоятельно свои сборники (альбомы, папки)? - что нужно сделать для того, чтобы произведения из списка "Произведения, не вошедшие в сборники" переместить в один из сборников, созданных автором? Вот пример (сайт stihi.ru): Расшифровка на примере, чтобы было более понятно: - что нужно сделать для того, чтобы автор мог создавать самостоятельно свои сборники (названия сборников из примера: "Её Величество Женщина", "Зрелость", "Мои экспромты", "Четырышки" и т.д.)? - что нужно сделать для того, чтобы произведения из списка "Произведения, не вошедшие в сборники" , например, стихотворение "Украине" переместить в один из сборников, созданных автором, например "Её Величество Женщина" (см. рисунок)? У кого какие соображения есть на этот счёт? Подскажите, пожалуйста! --- добавлено: 18.07.2015 --- @Asylum, с помощью Livestreet автор сможет создавать самостоятельно сборники, в которые будет помещать свои опубликованные произведения?