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

Discussion in 'Возможности CMS Joomla!' started by mila, Jul 13, 2015.

  1. mila
    Offline

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

    Joined:
    Jul 1, 2015
    Messages:
    33
    Likes Received:
    0
    Gender:
    Female
    Здравствуйте, уважаемые веб-программисты!

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

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

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    написать свой модуль и вывести в материале
     
    mila likes this.
  4. Asylum
    Offline

    Asylum Местный => Cпециалист <=

    Joined:
    Feb 9, 2007
    Messages:
    2,744
    Likes Received:
    160
    Gender:
    Male
    В К2 есть возможность вывода материалов по автору, без сторонних расширений можно использовать теги (метки материала), самый очевидный вариант поставить блоги. Не совсем понятно что имел ввиду автор топика
     
    mila likes this.
  5. |title|
    Offline

    |title| Активист

    Joined:
    Sep 19, 2014
    Messages:
    105
    Likes Received:
    26
    Gender:
    Male
    Код (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 likes this.
  6. mila
    Offline

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

    Joined:
    Jul 1, 2015
    Messages:
    33
    Likes Received:
    0
    Gender:
    Female
    @Asylum, у пользователя есть свой личный кабинет. Так вот, нужно, чтобы на одной из страниц этого личного кабинета, автоматически выводился список всех произведений, опубликованный данным автором.

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

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

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

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

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

    Asylum Местный => Cпециалист <=

    Joined:
    Feb 9, 2007
    Messages:
    2,744
    Likes Received:
    160
    Gender:
    Male
    Подождите, если вы о сайте stihi.ru, там ни разу не Joomla
     
  8. mila
    Offline

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

    Joined:
    Jul 1, 2015
    Messages:
    33
    Likes Received:
    0
    Gender:
    Female
    @Asylum, я понимаю, что Стихира не на Джумле. Но свой сайт я делаю на Джумле (2,5).
    Кабинет пользователя я уже создала (точнее, создаю). Задачу решила как формирование меню, которое видно только зарегистрированному пользователю, а каждый пункт меню формируется на базе различных компонентов и функций.
    Само меню сформировала (вы его на картинке слева видите), оно так и называется "схема кабинета":

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

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

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

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

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


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

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


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

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

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

    |title| Активист

    Joined:
    Sep 19, 2014
    Messages:
    105
    Likes Received:
    26
    Gender:
    Male
    @mila, установите flexi custom code, создайте модуль с типом " flexi custom code" и туда поместите мой код, произведения пользователя это просто материалы? созданные через меню "материалы" или используете какой либо компонент?
     
    mila likes this.
  10. mila
    Offline

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

    Joined:
    Jul 1, 2015
    Messages:
    33
    Likes Received:
    0
    Gender:
    Female
    Да, произведения пользователя - это просто материалы. Создаются через меню для зарегистрированных пользователей (отдельный пункт "опубликовать", тип пункта - "создать материал").
     
  11. CB9T
    Offline

    CB9T Преподаватель по J! Staff Member ⇒ Профи ⇐

    Joined:
    May 21, 2010
    Messages:
    2,604
    Likes Received:
    322
    Gender:
    Male
  12. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    А может тогда проще создать категорию под каждого автора, и выводить списком материалов
     
    mila likes this.
  13. mila
    Offline

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

    Joined:
    Jul 1, 2015
    Messages:
    33
    Likes Received:
    0
    Gender:
    Female
    @|title|, flexi custom code установила, модуль с типом " flexi custom code" создала, ваш код туда поместила:

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

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

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Авторы добавлять произведение как будут? А так для категории и назначать права на добавление каждому автору отдельно.
     
    mila likes this.
  15. |title|
    Offline

    |title| Активист

    Joined:
    Sep 19, 2014
    Messages:
    105
    Likes Received:
    26
    Gender:
    Male
    @mila, измените "//print_r($result);" на "print_r($result);" должно вывести "array( )". Посмотрите id категории "произведения" и измените значение переменной $catID на айди категории, если что то да выведет адекватное "print_r($result);" удалите
     
    mila likes this.
  16. Asylum
    Offline

    Asylum Местный => Cпециалист <=

    Joined:
    Feb 9, 2007
    Messages:
    2,744
    Likes Received:
    160
    Gender:
    Male
    На мой взгляд проще не "изобретать велосипед", а взять подходящее под задачу, с минимальным допиливанием. Посмотрите на тот же Livestreet - движок коллективных блогов
     
    mila likes this.
  17. mila
    Offline

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

    Joined:
    Jul 1, 2015
    Messages:
    33
    Likes Received:
    0
    Gender:
    Female
    Вопрос со списком произведений, которые автор опубликовал на сайте решён таким образом: с помощью функции {loadposition position-100} в нужное место в тексте страницы вставляется модуль с названием "Список опубликованных произведений" (Тип модуля выбрала - "Материалы-последние новости"), назначила модулю позицию - position-100.
    Важно: в основных параметрах создаваемого модуля в пункте авторы указать "добавлены или изменены мной", вместо "кто угодно".

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

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

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

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

    Attached Files:

Share This Page

Loading...