Список опубликованных произведений автора

Тема в разделе "Возможности CMS Joomla!", создана пользователем mila, 13.07.2015.

  1. mila
    Offline

    mila Пользователь

    Регистрация:
    01.07.2015
    Сообщения:
    32
    Симпатии:
    0
    Пол:
    Женский
    Здравствуйте, уважаемые веб-программисты!

    Нужно, чтобы у зарегистрированного пользователя сайта была своя страничка, на которой отображались бы все произведения, опубликованные этим пользователем.

    Подскажите, пожалуйста, как это можно осуществить?
     
  2.  
  3. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 050
    Симпатии:
    520
    Пол:
    Мужской
    написать свой модуль и вывести в материале
     
    mila нравится это.
  4. Asylum
    Offline

    Asylum специалист

    Регистрация:
    09.02.2007
    Сообщения:
    2 573
    Симпатии:
    152
    Пол:
    Мужской
    В К2 есть возможность вывода материалов по автору, без сторонних расширений можно использовать теги (метки материала), самый очевидный вариант поставить блоги. Не совсем понятно что имел ввиду автор топика
     
    mila нравится это.
  5. |title|
    Offline

    |title| Активист

    Регистрация:
    19.09.2014
    Сообщения:
    105
    Симпатии:
    26
    Пол:
    Мужской
    Код (PHP):
    1. <?php $user = & JFactory::getUser();
    2.     if (!$user->guest) {
    3.         $db = JFactory::getDBO();
    4.         $userID = $user->id;
    5.         $catID = 10; // категория произведений пользователя
    6.         $query = "select * from #__content where created_by = '".$userID."' and state = '1' and access = '1' and catid='".$catID."' order by ordering asc";
    7.         $db->setQuery($query);
    8.         $result = $db->loadObjectList();
    9.      
    10.         //print_r($result);
    11.         if(count($result)){
    12.             foreach($result as $key=>$item):?>
    13.             <div id="val"><?php echo $item->title; ?></div>
    14.             <?php endforeach;  
    15.          
    16.         }
    17.      
    18.     }
    19. ?>
     
    mila нравится это.
  6. mila
    Offline

    mila Пользователь

    Регистрация:
    01.07.2015
    Сообщения:
    32
    Симпатии:
    0
    Пол:
    Женский
    @Asylum, у пользователя есть свой личный кабинет. Так вот, нужно, чтобы на одной из страниц этого личного кабинета, автоматически выводился список всех произведений, опубликованный данным автором.

    Вот сама страничка-оригинал (сайт стихи.ру):

    Новый рисунок.JPG

    Вот то, что я сделала:

    Новый рисунок2.JPG

    Нужно, чтобы под словами "Произведения, не вошедшие в сборники" выводился список произведений автора сайта. Как это должно выглядеть вы видите.
    Я правильно поняла, что мне следует создать свой собственный модуль и вставить его в нужное месте?
     
  7. Asylum
    Offline

    Asylum специалист

    Регистрация:
    09.02.2007
    Сообщения:
    2 573
    Симпатии:
    152
    Пол:
    Мужской
    Подождите, если вы о сайте stihi.ru, там ни разу не Joomla
     
  8. mila
    Offline

    mila Пользователь

    Регистрация:
    01.07.2015
    Сообщения:
    32
    Симпатии:
    0
    Пол:
    Женский
    @Asylum, я понимаю, что Стихира не на Джумле. Но свой сайт я делаю на Джумле (2,5).
    Кабинет пользователя я уже создала (точнее, создаю). Задачу решила как формирование меню, которое видно только зарегистрированному пользователю, а каждый пункт меню формируется на базе различных компонентов и функций.
    Само меню сформировала (вы его на картинке слева видите), оно так и называется "схема кабинета":

    Новый рисунок2.JPG

    Теперь занимаюсь наполнением этого меню.
    В частности, сейчас решаю задачу: как вывести список опубликованных произведений автора под строкой "Произведения, не вошедшие в сборники".
    Вот как-то так...
    --- добавлено: 14.07.2015, первое сообщение размещено: 13.07.2015 ---
    Если попробовать создать собственный модуль и разместить его в тексте? Решила разбить задачу на части. Первая часть - это разместить какой-нибудь модуль (на основе уже существующих) в тексте.

    Вот мои действия:

    1. Зашла в менеджер модулей, создала модуль с названием "Список опубликованных произведений" (Тип модуля выбрала - "Материалы-последние новости") назначила модулю позицию - position-100

    2. В тексте статьи под словами "Произведения, не вошедшие в сборники" вставила конструкцию: {loadposition position-100}


    Всё получилось:

    Новый рисунок3.JPG


    Первая часть задачи решена. Теперь осталась вторая часть - это сам модуль.

    Подскажите, пожалуйста, порядок действий для написания собственного модуля, который бы выводил список всех опубликованных произведений пользователя.

    @|title| написал какой-то код, - как я могу его использовать? Куда этот код помещать? Подскажите, пожалуйста!
     
  9. |title|
    Offline

    |title| Активист

    Регистрация:
    19.09.2014
    Сообщения:
    105
    Симпатии:
    26
    Пол:
    Мужской
    @mila, установите flexi custom code, создайте модуль с типом " flexi custom code" и туда поместите мой код, произведения пользователя это просто материалы? созданные через меню "материалы" или используете какой либо компонент?
     
    mila нравится это.
  10. mila
    Offline

    mila Пользователь

    Регистрация:
    01.07.2015
    Сообщения:
    32
    Симпатии:
    0
    Пол:
    Женский
    Да, произведения пользователя - это просто материалы. Создаются через меню для зарегистрированных пользователей (отдельный пункт "опубликовать", тип пункта - "создать материал").
     
  11. CB9T
    Offline

    CB9T Преподаватель по J! Команда форума

    Регистрация:
    21.05.2010
    Сообщения:
    2 464
    Симпатии:
    305
    Пол:
    Мужской
  12. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 050
    Симпатии:
    520
    Пол:
    Мужской
    А может тогда проще создать категорию под каждого автора, и выводить списком материалов
     
    mila нравится это.
  13. mila
    Offline

    mila Пользователь

    Регистрация:
    01.07.2015
    Сообщения:
    32
    Симпатии:
    0
    Пол:
    Женский
    @|title|, flexi custom code установила, модуль с типом " flexi custom code" создала, ваш код туда поместила:

    Новый рисунок4.JPG

    Назначила модулю позицию - position-101. В тексте статьи под словами "Произведения, не вошедшие в сборники" вставила конструкцию: {loadposition position-101}. Никакого списка не отобразилось. В чём может быть ошибка, подскажите, пожалуйста!
    --- добавлено: 15.07.2015, первое сообщение размещено: 15.07.2015 ---
    @draff, вы предлагаете для каждого отдельного пользователя создавать свою категорию, - я правильно вас поняла? На сайте будут регистрироваться сотни пользователей, поэтому этот вариант не подходит. Нужно, чтобы у каждого автора автоматически выводился список его опубликованных произведений на сайте.
    --- добавлено: 15.07.2015 ---
    @CB9T, не совсем вас поняла, что вы подразумеваете, когда говорите о каталоге?
     
  14. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 050
    Симпатии:
    520
    Пол:
    Мужской
    Авторы добавлять произведение как будут? А так для категории и назначать права на добавление каждому автору отдельно.
     
    mila нравится это.
  15. |title|
    Offline

    |title| Активист

    Регистрация:
    19.09.2014
    Сообщения:
    105
    Симпатии:
    26
    Пол:
    Мужской
    @mila, измените "//print_r($result);" на "print_r($result);" должно вывести "array( )". Посмотрите id категории "произведения" и измените значение переменной $catID на айди категории, если что то да выведет адекватное "print_r($result);" удалите
     
    mila нравится это.
  16. Asylum
    Offline

    Asylum специалист

    Регистрация:
    09.02.2007
    Сообщения:
    2 573
    Симпатии:
    152
    Пол:
    Мужской
    На мой взгляд проще не "изобретать велосипед", а взять подходящее под задачу, с минимальным допиливанием. Посмотрите на тот же Livestreet - движок коллективных блогов
     
    mila нравится это.
  17. mila
    Offline

    mila Пользователь

    Регистрация:
    01.07.2015
    Сообщения:
    32
    Симпатии:
    0
    Пол:
    Женский
    Вопрос со списком произведений, которые автор опубликовал на сайте решён таким образом: с помощью функции {loadposition position-100} в нужное место в тексте страницы вставляется модуль с названием "Список опубликованных произведений" (Тип модуля выбрала - "Материалы-последние новости"), назначила модулю позицию - position-100.
    Важно: в основных параметрах создаваемого модуля в пункте авторы указать "добавлены или изменены мной", вместо "кто угодно".

    Вот что получилось (ссылки на произведения кликабельны):
    Новый рисунок8.JPG
    --- добавлено: 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";

    Список произведений отобразился:
    Новый рисунок9.JPG

    Но, как выяснилось, модуль с типом - "Материалы-последние новости" больше подошёл.
    --- добавлено: 18.07.2015 ---
    Общими усилиями мы этот вопрос решили. Подскажите, пожалуйста, а каким образом теперь можно эти произведения из списка раскидать по альбомам, которые автор самостоятельно создаёт?
    Точнее,
    - что нужно сделать для того, чтобы автор мог создавать самостоятельно свои сборники (альбомы, папки)?
    - что нужно сделать для того, чтобы произведения из списка "Произведения, не вошедшие в сборники" переместить в один из сборников, созданных автором?
    Вот пример (сайт stihi.ru):
    Новый рисунок10.JPG

    Расшифровка на примере, чтобы было более понятно:
    - что нужно сделать для того, чтобы автор мог создавать самостоятельно свои сборники (названия сборников из примера: "Её Величество Женщина", "Зрелость", "Мои экспромты", "Четырышки" и т.д.)?
    - что нужно сделать для того, чтобы произведения из списка "Произведения, не вошедшие в сборники" , например, стихотворение "Украине" переместить в один из сборников, созданных автором, например "Её Величество Женщина" (см. рисунок)?

    У кого какие соображения есть на этот счёт? Подскажите, пожалуйста!
    --- добавлено: 18.07.2015 ---
    @Asylum, с помощью Livestreet автор сможет создавать самостоятельно сборники, в которые будет помещать свои опубликованные произведения?
     

    Вложения:

Поделиться этой страницей

Загрузка...