Joomla 1.0 Массовое пересохранение

Тема в разделе "Наполнение", создана пользователем Jkr, 25.01.2011.

  1. Jkr
    Offline

    Jkr Russian Joomla! Team

    Регистрация:
    04.08.2006
    Сообщения:
    465
    Симпатии:
    27
    Пол:
    Мужской
    Возникла необходимость пересохранить больше 5000 материалов. Возникла в связи с тем, что раньше контент форматировался при каждой загрузке мамботом "Русская типографика", а теперь форматирование происходит единожды, при сохранении материала.

    Соответственно, вопрос: решал ли кто-то уже подобную задачу, и есть ли какие-то наработки в этом направлении?

    Пока что вижу выход в том, чтобы написать скрипт, который:
    - коннектится к БД;
    - считает сколько всего материалов в #__content;
    - выбирает оттуда, скажем, 100 материалов в массив (не полностью, только id, title, title_alias, introtext и fulltext);
    - в цикле перебирает все 100 результатов, обрабатывает все соответствующие поля теми же фильтрами, которые используются при сохранении контента joomla, и делает UPGRADE в базу по ID;
    - в конце выполнения вызывает сам себя, только уже с limitstart 101 и общим количеством строк в #__content и повторяет операцию для следующих 100 статей;
    - так продолжается, пока скрипт не переберет все материалы из базы.

    Может кто-то сможет подсказать более оптимальное решение?
    Заранее благодарю!
     
  2.  
  3. Offline

    _voland_ специалист

    Регистрация:
    12.04.2008
    Сообщения:
    2 173
    Симпатии:
    102
    Пол:
    Мужской
    Примерно так, но наверно проще генерировать событие сохранения для каждого материала
     
  4. Jkr
    Offline

    Jkr Russian Joomla! Team

    Регистрация:
    04.08.2006
    Сообщения:
    465
    Симпатии:
    27
    Пол:
    Мужской
    Согласен, что проще, но я не совсем понимаю как его сгенерировать? Путем обращения по ссылке с task=save - не получается.
     
  5. Offline

    _voland_ специалист

    Регистрация:
    12.04.2008
    Сообщения:
    2 173
    Симпатии:
    102
    Пол:
    Мужской
    Так сразу не подскажу - надо копать код и смотреть что вызывается (тем более речь о том старом дивжке).
    А насчет по ссылке - тоже вариант, но надо наверно подставлять верные куки и заполнять POST данные - curl должен помочь ;)
     
  6. Offline

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

    Регистрация:
    14.10.2010
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    апну тему
    мне тоже нужно решить аналогичную проблемку, но не разбираюсь настолько
     

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

Загрузка...