We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 22508
    • 10 Posts
    Сами мы не местные, помогите кто чем может smiley
    В процессе создания(переделывания) шаблона портального вида с 3 колонками и 3 элементами в каждой, столкнулся с проблемой:
    Хочется сделать анотации к страницам сайта на главной странице...
    Имеем примерно такую структуру:
    
    <div id="content">
    <div id="colOne">
    	
      <h2> <a href="[(base_url)]about"> About </a> </h2>
        <p>{{MAIN_About}}</p>
                     
      <h2> <a href="[(base_url)]benefits"> Benefits</a> </h2>
         <p>{{MAIN_Benefits}}</p>
      <h2>test</h2>
          <p> test </p>
    
    	</div>
    
    

      Так вот столкнулся с тем что неполучается написать Сниппет с целью, взятия из нужной ID страницы анотации, с последующим помещением ее в нужном месте.
      • 36823
      • 334 Posts
      А зачем писать, Ditto используйте.
        • 22508
        • 10 Posts
        Quote from: Andrei at May 05, 2009, 11:07 PM

        А зачем писать, Ditto используйте.
        Да вот не захотелось разбираться в Ditto, а там еще и цикл статей "сделай сам" smiley
        Вобщем хотелось, бы победить средствами ПхП rolleyes
          • 32725
          • 107 Posts
          <?php
          $ids = array(1, 2, 3, 4, 5);
          $output = '';
          foreach ($ids as $id) {
              $document = $getDocumentObject('id', $id);
              $output .= $document['introtext'] . '<br>';
          }
          return $output;
          ?>
          


          З.Ы. Фтопку Ditto и прочую хрень. Зачем подключать огромные модули для идиотов, если можно 6 строк кода написать?
            My portfolio
            Самурай без меча подобен самураю с мечом, только без меча.
            • 22508
            • 10 Posts
            Quote from: Wuron at May 06, 2009, 09:01 AM

            <?php
            $ids = array(1, 2, 3, 4, 5);                                     // ykazivaem neobxodimie ID documentov?
            $output = '';
            foreach ($ids as $id) {
                $document = $getDocumentObject('id', $id);   // Prisvaivaem peremenou ID  ?
                $output .= $document['introtext'] . '<br>';       // ZAbiraem introtext
            }
            return $output;                                                     // vozvrashem znachenie
            ?>
            


            З.Ы. Фтопку Ditto и прочую хрень. Зачем подключать огромные модули для идиотов, если можно 6 строк кода написать?

            Спасибо, а если несложно, закоментируй что делаешь. Я в ПхП совсем никакой, а при размещении на страничке - выдает 500 ошибку при попытке открытия.
            П.С. А как мне указать ему что в данном месте надо брать информацию с документа ID # 2 ?
              • 22532
              • 349 Posts

              Да вот не захотелось разбираться в Ditto, а там еще и цикл статей "сделай сам" Smiley
              Вобщем хотелось, бы победить средствами ПхП Roll Eyes
              ......
              Спасибо, а если несложно, закоментируй что делаешь. Я в ПхП совсем никакой

              наверное в столь тяжолом случае будет уместнее прочесть таки статьи tongue
                • 22508
                • 10 Posts
                Quote from: p4sh0k at May 06, 2009, 01:08 PM


                Да вот не захотелось разбираться в Ditto, а там еще и цикл статей "сделай сам" Smiley
                Вобщем хотелось, бы победить средствами ПхП Roll Eyes
                ......
                Спасибо, а если несложно, закоментируй что делаешь. Я в ПхП совсем никакой

                наверное в столь тяжолом случае будет уместнее прочесть таки статьи tongue

                А таки какие статьи ? По МОДху - руВику я прочетал smiley Толку то smiley По "сделай сам" я тоже прочетал, все что было сделал, а тут вот ткнулся дальше и тупик sad Ссылки приветствуются...
                  • 22508
                  • 10 Posts
                  Все - всем спасибо, всех победили...
                  Итоговый код сниппа
                  <?php
                  $ids = array(2);
                  $output = '';
                  foreach ($ids as $id) {
                  $document = $modx->getDocumentObject('id', $id);
                  $output .= $document['introtext'].'<br>';
                  }
                  return $output;
                  ?>


                  От кода гражданина WURON отличается только отсутствием пробела между " [’introtext’] и . " и кусочком: $modx-> перед getDocument... Похоже именно из-за него у меня и висла вся страница.
                  Всем откликнувшимся еще раз спасибо, ОСОБЛЕННО WURONу smiley
                    • 32725
                    • 107 Posts
                    Quote from: OzzMaN at May 06, 2009, 01:52 PM

                    Все - всем спасибо, всех победили...
                    Итоговый код сниппа
                    <?php
                    $ids = array(2);
                    $output = '';
                    foreach ($ids as $id) {
                    $document = $modx->getDocumentObject('id', $id);
                    $output .= $document['introtext'].'<br>';
                    }
                    return $output;
                    ?>


                    От кода гражданина WURON отличается только отсутствием пробела между " [’introtext’] и . " и кусочком: $modx-> перед getDocument... Похоже именно из-за него у меня и висла вся страница.
                    Всем откликнувшимся еще раз спасибо, ОСОБЛЕННО WURONу smiley
                    да... вместо $getDocumentObject нужно было $modx->getDocumentObject. Быстро писал и опечатался.
                    а пробелы возле точки роли никакой не играют. Просто с пробелами - это общепринятые правила оформнения кода. Чтоб читалось лучше.

                    ну а если нужно именно Id = 2, то цикл там не нужен.
                    <?php
                    $output = '';
                    $document = $modx->getDocumentObject('id', 2);
                    $output .= $document['introtext'] . '<br>';
                    return $output;
                    ?>
                    

                    Хотя странный какой-то вариант. Почему именно "2" ? smiley
                    Если 2 - это ID документа, в котором запускается сниппет, то сниппет там вообще не нужен.
                      My portfolio
                      Самурай без меча подобен самураю с мечом, только без меча.
                      • 22508
                      • 10 Posts
                      Угу, спасибо, я уже разобрался...
                      В детстве владел С++ чуток, просто практики програмирования небыло лет 7 smiley а тут срочно понадобилось шаблон сделать, да еще и на МОДх наткнулся smiley

                      Следующим этапом будет "форма отправки на емайл" smiley Варианты ? smiley

                      П.С. - почему именно АйДи 2 smiley Ну так получилось - на первой странице размещены 4-ре раздела, которые должны показывать "Анотацию"- рекламку с основных страниц (ID 2,3,4,5). Вот и вся замутка smiley