We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 21179
    • 58 Posts
    Добрый день всем,
    может ли кто подсказать есть ли где руководство по написанию сниппета, а конкретно надо:
    Есть форма X1 через неё пользователи добавляют данные в таблицу БД Y1, и есть форма X2 при помощи которой пользователи выводят по определенным параметрам из таблицы Y1 данные. Может ли кто-нибудь подсказть хотя бы алгоритм пользования всеми этими сниппитами и чанками, что и ка с чем связатьа именно скажем не понятно что прописывать в атрибуте action тага form для указания где лежит код-сниппет. Кинтте хотя бы ссыль, можно на англоязычную версию описания задачи.
      Нет рекламе.
      • 785
      • 2,113 Posts
      А какое руководство нужно? Требуется, в первую очередь, просто знание PHP. В action ставится ссылка на страницу со сниппетом, вроде такой (сама ссылка тоже генерируется в сниппете):
      ’action="’.$modx->makeUrl($modx->documentObject[’id’]).’"’
      То есть в данном случае вызов сниппета вставлен в текущую страницу.
      А ответ проверять можно через $_POST.
      Можно посмотреть имеющиеся сниппеты, чтобы понять, как там все устроено.
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 21179
        • 58 Posts
        Млин, если бы все было так легко я бы уже давно все написал. НЕ связывается форма со сниппетом! Указываю адресс где хранится сниппет и ничего не происходит хотя сам сниппет страница видит! Вот таг которым связываю форму со сниппетом подскажите может не так что?
          Нет рекламе.
          • 785
          • 2,113 Posts
          Quote from: Neolink at Dec 27, 2007, 11:33 AM

          Вот таг которым связываю форму со сниппетом подскажите может не так что?
          Где таг? И вообще, как это форма со сниппетом связывается каким-то тагом?
          В сниппете следует вывести содержимое формы, например (в принципе можно и иначе):
          ’<form id="mfind" action="’.
          $modx->makeUrl($modx->documentObject[’id’]).
          ’" method="post">
          <label for="model">Выберите модель :

          <select id="model" name="model">
          <option value="0">Все модели</option>
          <option value="1">Выборочные модели</option>
          </select></label>
          </form>’
          А потом в этом же сниппете (если иное не предусмотрено логикой) добавить что-то вроде:
          $smodel=$_POST[’model’];
          И все - в чем проблема? При вводе в форму будет вызвана та же страница, из которой был вызван сниппет, и выбранный вариант окажется в переменной $smodel.
            Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
            Статьи о MODx, регулярно новые публикации
            • 21179
            • 58 Posts
            Вот долгожданный таг:
            <form name="telefon" action="http://www.modx/index.php?id=20" method="post">
            

            Что мне туда ввести?
              Нет рекламе.
              • 22301
              • 1,084 Posts
              Neolink, наводящий вопрос: а ты в php хоть чуток рубишь?
                [img]http://jurist-info.ru/pic/rrr.jpg[/img]

                Безжалостный пияр!
                Artima -- неуч!
                Осторожно: преступная локализация -- modx-cms.ru
                Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

                Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
                • 21179
                • 58 Posts
                Да рублю, и именно поэтому и просил несколько раз указать правильный путь так как сам понимаю что там написана полная хрень. Ответа пока не дождался...
                  Нет рекламе.
                  • 19164
                  • 1,215 Posts
                  Все уже написали. Если форма используется в чанке или контенте документа, использовать
                  <form id="mfind" action="[~[*id*]~]" method="post">

                  если в коде, то уже написали
                  <form id="mfind" action="'.
                  $modx->makeUrl($modx->documentObject['id']).
                  '" method="post">
                    DirectResize 0.9 beta. PHPThumb, sets of configurations, configuration, binded to specific path. No backward compatibility. | DirectResize 0.9. PHPThumb, наборы параметров, параметры, привязанные к определенным путям. Без обратной совместимости.

                    Unfortunately, DirectResize project is closed. If you want to continue development, PM me for access to project page on Google Code. К сожалению, проект DirectResize закрыт. Если вы желаете продолжить разработки, обращайтесь через ПМ для получения доступа к репозиторию на Google Code.

                    [PLUGIN] DirectResize - as Maxigallery but for single images :: Download :: [url=http://modxcms.com/forums/index.php/topic,21490]
                    • 22301
                    • 1,084 Posts
                    не важно, где именно в базе хранится сниппет. вызывается он на той странице, где воткнули
                    [[SnippetName? &`какие-то параметры`]]

                    то есть, чтобы обратиться к сниппету, достаточно знать его имя, ну, и знать, какие дополнительные параметры надо задать.

                    Это если идёт речь о вызове сниппета на странице (из шаблона, из чанка, из TV).

                    если же необходимо отработать сниппет, например, в TV, то используется такая конструкция:
                    @EVAL return $modx->runSnippet ("SnippetName", какие-то параметры, см. английскую документацию);
                    отработать сниппет можно и в сниппете, вот так:
                    $modx->runSnippet ("SnippetName", какие-то параметры);




                    во всех случаях не надо укзаывать путь с сниппету. для этого и нужен парсер.
                      [img]http://jurist-info.ru/pic/rrr.jpg[/img]

                      Безжалостный пияр!
                      Artima -- неуч!
                      Осторожно: преступная локализация -- modx-cms.ru
                      Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

                      Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
                      • 21179
                      • 58 Posts
                      Ок. Будем разбираться подробно так как похже что я дурак.
                      Создал страницу на которой вывел следующий код.
                      Ниже должен быть сниппет  
                      
                      [!prodat!] 
                      
                      А здесь чанк 
                      
                      {{prod_id}} 
                      
                      



                      Чанк (выше отображенный) имеет следующий код
                      Что-то не хелоу
                      <form action="[~[*id*]~]" method="post">
                      <ul>
                              <li>
                                      Просто форма текста<br/><input type="text" name="telefon" value=""/>
                              </li>
                      </ul>
                      <input type="submit" value="search"/>
                      </form>


                      Сниппет имеет вот такой код
                      <?php
                      $prodat_path = 'http://www.modx/assets/snippets/real_estate/prodat/';
                      include ($prodat_path.'vvod.php');
                      
                      $x='697';
                      print "Hello world!!!";
                      print "$telefon";
                      print "$x";
                      ?>


                      на странице отображается следующий обработанный сервером php код

                      Ниже должен быть сниппет  
                      
                      Ну вот и получилось 
                      
                      Hello world!!!697 
                      
                      А здесь чанк 
                      
                      Что-то не хелоу 
                      
                      Просто форма текста
                       
                      (ТУТ ТЕКСТОВАЯ ФОРМА ВВОДА)
                      
                      (А ТУТ КНОПКА)
                      
                      



                      а вот файл (vvod.php) путь к которому был написан путь в сниппете

                      <?
                      echo ('Ну вот и получилось <br/>');
                      ?>


                      Хочу отметить, что если сослаться в action на файл vvod.php а не на [~[*id*]~] то все вполне нормально обрабатываеться (обрабатываеться, отображаеться естественно только этот самыйкод этого файла vvod.php).
                      Вот. Подскажите в чем ошибка? Почему не обрабатывается информация введенная в форму, т.е. не выводиться переменная $telefon ранее введенная в форму?
                      Извинитееслизадалоченьглупыйвопрос.
                        Нет рекламе.