Где почитать про функции добавления контента-статей в joomla?

Тема в разделе "Программирование", создана пользователем heroino, 15.09.2010.

  1. Offline

    heroino Недавно здесь

    Регистрация:
    15.09.2010
    Сообщения:
    9
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте я новичок, возникла задача автоматической публикации статей на джумле. т.е. плагин получает текст и затем должен опубликовать его в новости.
    подскажите пожалуйста где можно почитать или посмотреть примеры как публиковать статьи, указывать title , категории, разделы и прочее.

    заранее спасибо.
     
  2.  
  3. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Все просто ;)
    Код (PHP):
    1. $myContent = & JTable::getInstance('content');
    2. // для нового элемента ID = 0
    3.  $myContent->id = 0;
    4.  //название материала
    5.  $myContent->title = "Название !!!";
    6.  //алиас должен быть уникальным, для этого добавляем время
    7. $myContent->alias = 'tour_' . date('Y-m-d-H-i-s', time());
    8. // Интро-текст
    9. $myContent->introtext = "Краткий обхор материала";
    10. // Полный текст
    11. $myContent->fulltext = "Полный текст материала";
    12. // state = 1 - материал опубликован
    13. $myContent->state = 1;
    14. // Дата, когда материал перестанет быть активным
    15. $myContent->publish_down = date('Y-m-d', strtotime('2011-12-31'));
    16. // Дата, когда материал бы создан
    17. $myContent->created = date('Y-m-d H:i:s', time());
    18.  
    19. // теперь, нам нужен ID пользователя, который довил материал
    20. $user =& JFactory::getUser();
    21. $myContent->created_by = $user->id; // кем создан
    22. $myContent->modified_by = $user->id; // кем изменен
    23.  
    24. // обнуляем счетчик кликов
    25. $myContent->hits = 1;
    26. $myContent->parentid = 0;
    27.  
    28. // уровень доступа к материалу. 0 - для всех.
    29. $myContent->access = 0;
    30.  
    31.  
    32. if(!$myContent->store())
    33. {
    34.     // если вдруг добавление материала не увеначалось успехом )))
    35.  
    36.     return false;
    37. }
    38.  
    39. $db = & JFactory::getDBO();
    40.  
    41. if ($db)
    42. {
    43.     // обновляем позицию всех текущих материалов на главной странице.
    44.  
    45.     $query = "UPDATE #__content_frontpage SET ordering = ordering + 1";
    46.  
    47.     $db->setQuery( $query );
    48.  
    49.     $db->query();
    50.  
    51.     // "публикуем" наш материал на главной в самом начале
    52.  
    53.     $query = "INSERT INTO #__content_frontpage (content_id, ordering) VALUES (" . $myContent->id . ", 1)";
    54.     $db->setQuery( $query );
    55.     $db->query();
    56. }
     
  4. Offline

    heroino Недавно здесь

    Регистрация:
    15.09.2010
    Сообщения:
    9
    Симпатии:
    0
    Пол:
    Мужской
    Перерыл всю сеть, ничего не нашел. огромное спасибо!!!!
     
  5. Offline

    heroino Недавно здесь

    Регистрация:
    15.09.2010
    Сообщения:
    9
    Симпатии:
    0
    Пол:
    Мужской
    а можно еще спросить? я просто первый раз пишу плагин под джумлу.
    я сделал установочный xml , установил его в систему в content
    а как теперь его запустить на выполнение? т.е. что б он выполнил то что должен.

    спасибо.
     
  6. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    в админке Расширения -> Плагины там ищи свой плагин и в колонке Включен напротив него должна стоять галочка, а не белый крестек в красном кргляшке
     
  7. Offline

    heroino Недавно здесь

    Регистрация:
    15.09.2010
    Сообщения:
    9
    Симпатии:
    0
    Пол:
    Мужской
    большое спасибо, всё получилось.
    вот только, никак нельзя сделать что бы отправлять статьи в определенные разделы и категории?
    вот в этом прекрасном листинге они просто не определяются. это возможно?

    Код (PHP):
    1. $myContent = & JTable::getInstance('content');
    2. // для нового элемента ID = 0
    3.  $myContent->id = 0;
    4.  //название материала
    5.  $myContent->title = "Название !!!";
    6.  //алиас должен быть уникальным, для этого добавляем время
    7. $myContent->alias = 'tour_' . date('Y-m-d-H-i-s', time());
    8. // Интро-текст
    9. $myContent->introtext = "Краткий обхор материала";
    10. // Полный текст
    11. $myContent->fulltext = "Полный текст материала";
    12. // state = 1 - материал опубликован
    13. $myContent->state = 1;
    14. // Дата, когда материал перестанет быть активным
    15. $myContent->publish_down = date('Y-m-d', strtotime('2011-12-31'));
    16. // Дата, когда материал бы создан
    17. $myContent->created = date('Y-m-d H:i:s', time());
    18.  
    19. // теперь, нам нужен ID пользователя, который довил материал
    20. $user =& JFactory::getUser();
    21. $myContent->created_by = $user->id; // кем создан
    22. $myContent->modified_by = $user->id; // кем изменен
    23.  
    24. // обнуляем счетчик кликов
    25. $myContent->hits = 1;
    26. $myContent->parentid = 0;
    27.  
    28. // уровень доступа к материалу. 0 - для всех.
    29. $myContent->access = 0;
    30.  
    31.  
    32. if(!$myContent->store())
    33. {
    34.     // если вдруг добавление материала не увеначалось успехом )))
    35.  
    36.     return false;
    37. }
    38.  
    39. $db = & JFactory::getDBO();
    40.  
    41. if ($db)
    42. {
    43.     // обновляем позицию всех текущих материалов на главной странице.
    44.  
    45.     $query = "UPDATE #__content_frontpage SET ordering = ordering + 1";
    46.  
    47.     $db->setQuery( $query );
    48.  
    49.     $db->query();
    50.  
    51.     // "публикуем" наш материал на главной в самом начале
    52.  
    53.     $query = "INSERT INTO #__content_frontpage (content_id, ordering) VALUES (" . $myContent->id . ", 1)";
    54.     $db->setQuery( $query );
    55.     $db->query();
    56. }
     
  8. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    $myContent->parentid = 0; определяет родительскую категорию
     
  9. Offline

    heroino Недавно здесь

    Регистрация:
    15.09.2010
    Сообщения:
    9
    Симпатии:
    0
    Пол:
    Мужской
    а как определить ту категорию что мне нужна?
     
  10. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Статьи - Категории ... перед вами таблица с категориями, самая последняя колонка - ID категории
     

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

Загрузка...