We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 274
    • 108 Posts
    Всем привет возник вопросик: параметр report можно установить либо чанк или id документа, то есть содержимое этих параметров постоянны, а если шаблон отчета(report) создается динамически завист от введенных значений то есть стуктура шаблона будет всегда разная, возможно ли это сдлать? как? отчего оталкиваться?
      • 274
      • 108 Posts
      подскажите пожалуста, неужели никто не сталкивался?
        • 16278
        • 928 Posts
        Попробвал разные варианты использования eForm событий, но без успеха. А с помощью сниппета-обложки оказалось нетрудно менять параметр &report в зависимости от значения данного поля. Суть в том, что параметры передаются в сниппет в массиве $params:
        <?php
        // myForm
        // run eForm with &report parameter set according to value of form field
        // example: subject="red", change &report to "redReport"
        
        
        if ($_POST['subject'] == 'red') {
        	$params['report'] = 'redReport';
        }
        
        return $modx->runSnippet('eForm', $params);
        ?>


        laugh KP
          • 274
          • 108 Posts
          спс, поподробней можно, а то не совсе понятно(
            • 16278
            • 928 Posts
            1) Создать свой сниппет, например myForm, в котором обрабатываются значения, получаемые из формы (массив $_POST) после нажатия кнопки Submit. Название нужного параметра &report выбирается в зависимости от значения тех или иных полей.

            2) Параметры, заданные в вызове сниппета, автоматически передаются в сниппет в массиве $params. По логике нашего сниппета, новый &report заменяет тот, заданный при вызове.

            3) Вызывается стандартный сниппет eForm c помощью системной функции runSnippet. В неё надо задать название сниппета и массив со списком параметров и их значений - у нас это будет &params.

            4) Включить в документ вызов этого сниппета-обложки вместо обычного вызова eForm, со всеми обычными параметры, в том числе какой-нибудь &report, так как он объязательный параметер.

            Надеюсь, что это поможет. Покажите, пожалуйста, ваш eForm вызов и форму, и скажите, по каким полям решается выбор отчета, если нужна дальнейшая помощь.

            smiley KP
              • 274
              • 108 Posts
              в целом понятно, но $params[’report’] = ’redReport’ -> redReport- это новый чанк или что?
                • 16278
                • 928 Posts
                Да, это просто пример: "если в поле ’subject’ значение ’red’, использовать чанк ’redReport’ в качестие ’report’". У вас будут свои критерии и соответствующие чанки.
                smiley KP
                  • 274
                  • 108 Posts
                  неправельно ты меня понял, ты предлогаешь взависимо от ситуации применять разные чанки, а мне надо что бы создовать динимически шаблоны отчетов они будут все время разные.