We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 38861
    • 3 Posts
    Наверное это банальный вопрос, но простите, не могу найти ответ.
    Как прописать ссылку для вывода следующей/предыдущей новости?

    <div id="next">
    				
          <a href="[+next+]">next</a>
    							
    </div>



    [ed. note: otvazhniy last edited this post 14 years, 8 months ago.]
      • 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
        • 38861
        • 3 Posts
        а есть решение для эво?
          • 38887
          • 1 Posts
          Сниппет
          <?php
          $ID = $modx->documentIdentifier;
          $parentId = array_pop($modx->getParentIds($modx->documentIdentifier,1));
          
          $children = $modx->getActiveChildren($parentId,'menuindex','ASC');
          
          $i=0;
          $key = false;
          while(!$key && $i<count($children)){
            $key = array_search($ID,$children[$i]);
            $i++;
          }
          
          if(!empty($key) && count($children)>1){
          $placeholders = array(
          'prev'=>($i-2>=0?'<a class="a-i" href="'.$modx->makeUrl($children[$i-2]['id']).'">prev</a>':''),
          'next'=>($i<count($children)?'<a class="a-i" href="'.$modx->makeUrl($children[$i]['id']).'">next</a>':'')
          );
          $output = $modx->parseChunk('prevnext',$placeholders,'[+', '+]');
          
          }
          return $output;
          ?>

          В чанке "prevnext" вызываем плейсхолдеры
          [+prev+] [+next+] [ed. note: silenoz last edited this post 14 years, 8 months ago.]
            • 785
            • 2,113 Posts
            Для эво есть http://modx.com/extras/package/prevjumpnext
            А в приведенном коде, например,
            $parentId = array_pop($modx->getParentIds($modx->documentIdentifier,1));
            абсолютно лишнее, достаточно
            $parentId = $modx->documentObject['parent'];
            дальше смотреть не стал...
              Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
              Статьи о MODx, регулярно новые публикации
              • 38861
              • 3 Posts
              Спасибо, мне уже кстати написали сниппет и он тоже работает:
              <?php
              $id = isset($id) ? $id : '';
              $it = $modx->documentIdentifier;
              $news = $modx->getActiveChildren($id,'menuindex','asc','id,pagetitle');
              foreach($news as $key=>$val){
               if($val['id']==$it){
                $prev['id'] = $news[$key-1]['id'];
                $prev['pagetitle'] = $news[$key-1]['pagetitle'];
                $next['id'] = $news[$key+1]['id'];
                $next['pagetitle'] = $news[$key+1]['pagetitle'];
                break;
               }
              }
              if($prev['id']){
              echo'
              <div id="prev">
                   <a href="[~'.$prev['id'].'~]">← Сюда</a>
              </div>';
              }
              if($next['id']){
              echo'
              <div id="next">
                   <a href="[~'.$next['id'].'~]">Туда →</a>
              </div>';
              }