We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 3403
    • 7 Posts
    Доброго времени суток!

    О системе:
    MODX Revolution 2.2.2-pl + пакет Ace (подсветка синтаксиса, хотя их больше, но грех на него пал)
    apache 2.2.22
    php 5.4.3
    MySql 5.5.24

    О проблеме:
    Создал сниппет, в котором сгенерировал схему (writeSchema), выкинул не нужное, оставив три таблицы, и сгенерировал модель (parseSchema). После создания выше описанного закомментировал это все и приступил к операциям чтения и записи с одной таблицей.
    В случае создания данных в таблице вручную они отлично отображаются. А вот с записью странные вещи происходят:
    1. при обновлении страницы редактируемого сниппета происходит запись данных в таблицу;
    2. запись происходит в троекратном объеме.

    Код записи:
    $modx->addPackage(...); //add my component 
    $new = $modx->newObject('Mytable', array('name' => 'q', 'name2' => 'w'));
    $new->save();
    


    Собственно говоря, вот и два вопроса.
    Кто сталкивался с подобным или знает куда копать прошу помочь.
      • 31246 ☆ A M B ☆
      • 428 Posts
      смотрите, вы пишите код для фронта, но вы находитесь в админке.
      Попробуйте открыть станицу для фронта, где выполняется код в другом браузере.
      Это вероятно баг, так как у меня тоже такое встречается.
        Valentin Rasulov - Industrial design (Hobbies - Web Development)
        Development not standard projects on CMF MODx Revolution.
        Small sample of extensions
        • 3403
        • 7 Posts
        Quote from: valikras at Jun 14, 2012, 06:21 AM
        смотрите, вы пишите код для фронта, но вы находитесь в админке.
        Попробуйте открыть станицу для фронта, где выполняется код в другом браузере.
        Это вероятно баг, так как у меня тоже такое встречается.

        Что есть "фронт"?
        Зачем открывать в другом браузере?

        При добавлении анализа опции, предназначенной для добавления, данные в БД не пишутся. То есть это реально баг, так как используется рендер страницы.

        И какого х... происходит 3 записи, а не одна? =)

        Все голову сломал, даже удалил две таблицы из трех созданных, но все без толку.
          • 3403
          • 7 Posts
          Бред полнейший.
          Добавил условие, по параметру, для отображения и все заработало, как нужно.
          То есть теперь все, что происходит в сниппете обрабатывается через внешний параметр сниппета. Одни для отображения, другой для добавления. КАК И ПОЧЕМУ???)
          Вот что за интересный случай? [ed. note: binaryshadow last edited this post 14 years, 4 months ago.]