Как добавлять материал средствами PHP?

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

  1. Offline

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

    Регистрация:
    27.04.2010
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    Вообще я занимаюсь PHP программированием, скрипты всякие, парсеры пишу. Часто встречаю пишут - спарсить то-то то-то, добавить на джумла-сайт и вывести в красивом виде. Вот тут вот и начинаются проблемы.

    Нужно ли изучать всю структуру джумлы, как создавать модули там всякие и т.д., ради того чтобы просто спарсенное с другого сайта добавить в джумлу? Может есть материалы какие-нибудь в интернете, где описывают подробно про это?
     
  2.  
  3. sergiks
    Offline

    sergiks специалист

    Регистрация:
    10.10.2010
    Сообщения:
    362
    Симпатии:
    36
    Пол:
    Мужской
    Быстрый вариант А: отдельный php, который пихает новую запись в БД джумлы.
    Код (PHP):
    1. <?php define( '_JEXEC', 1 );
    2. define('JPATH_BASE', '/home/yoursitepath/' );
    3. define( 'DS', DIRECTORY_SEPARATOR );
    4. /* Required Files */
    5. require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
    6. require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
    7.  
    8. /* To use Joomla's Database Class */
    9. require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );
    10.  
    11. /* Create the Application */
    12. $mainframe =& JFactory::getApplication('site');
    13. $rootpath =& JURI::root();
    14.  
    15. $db = &JFactory::getDBO();
    16.  
    17. function sqlfilter($s) {
    18.   global $db;
    19.   return $db->Quote($s); // "чистит" все передаваемые в sql запросе данные
    20. }
    21.  
    22. $query = 'INSERT INTO #__content (
    23. title, // заголовок материала
    24. alias, // для seo адреса статьи
    25. introtext, // текст материала
    26. state, // 1 = опубликован
    27. sectionid, // id  секции, которой принадлежит материал
    28. catid, // id категории
    29. created, // когда создан  2010-02-06 23:13:11
    30. created_by, // id пользователя, который якобы автор ( id из таблицы jos_users )
    31. publish_up) // дата, с которой материал "влючится" в публикацию. Если сразу - то прошедшую или текущую.
    32. values (' . implode(',', array_map('sqlfilter', $values)) . ')'; // в массиве — значения для подстановки в нужном порядке
    33. $db->setQuery($query);
    34. $db->query(); // выполнить запрос


    Подробнее про методы объекта JDatabase
     
    Последнее редактирование: 07.11.2010
  4. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    - поищите по форуму, я уже отвечал на этот вопрос несколько раз. (с использованием АПИ Джумлы)
    - на "голом" ПХП необходимо просто подключиться к БД и добавить запись в таблицу jos_content, пример описан выше.
     

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

Загрузка...