We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 6623
    • 127 Posts
    Взять id страница где псевдоним равен параметру(заданному мною), есть ли что стандартное? И второй вопрос, как определить включены ли дружественные урлы(что то типа $modx->friendlyUrl принимающее значение true/false)
      • 11255
      • 193 Posts
      1)Создаем сниппет NeedId:
      <?php
      if ((isset($myparam)) && ($myparam!='')) {
      $sql='SELECT id FROM `modx_site_content` WHERE alias='.$myparam;
      $result=$modx->db->query($sql);
      $count=mysql_num_rows($result);
      if ($count>0){
        $row=mysql_fetch_assoc($result);
        $needid=$row['id'];
        echo $needid;
      } else {echo 'netu takogo id';} 
      }
      else {echo 'parametr ne zadan';}
      ?>
      

      2) вызываем его
      [!NeedId? &myparam=`parametr`!]
        • 785
        • 2,113 Posts
        Quote from: Great-Antique at Dec 18, 2009, 01:24 AM

        1)Создаем сниппет NeedId:
        Все намного проще. Чтобы узнать ID по псевдониму, не надо обращаться к базе данных, достаточно прочитать:
        $modx->documentListing[’нужный псевдоним’]
        А чтобы узнать, включены ли дружественные URL, следует узнать значение:
        $modx->config[’friendly_urls’]
          Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
          Статьи о MODx, регулярно новые публикации
          • 11255
          • 193 Posts
          Quote from: AKots at Dec 18, 2009, 02:26 AM

          Quote from: Great-Antique at Dec 18, 2009, 01:24 AM

          1)Создаем сниппет NeedId:
          Все намного проще. Чтобы узнать ID по псевдониму, не надо обращаться к базе данных, достаточно прочитать:
          $modx->documentListing[’нужный псевдоним’]
          А чтобы узнать, включены ли дружественные URL, следует узнать значение:
          $modx->config[’friendly_urls’]

          Мне такое не надо было никогда и я не в курсе. Я просто предложил действенный способ. Я не говорил что он наилучший.
            • 6623
            • 127 Posts
            Quote from: Great-Antique at Dec 18, 2009, 01:24 AM

            1)Создаем сниппет NeedId:
            <?php
            if ((isset($myparam)) && ($myparam!='')) {
            $sql='SELECT id FROM `modx_site_content` WHERE alias='.$myparam;
            $result=$modx->db->query($sql);
            $count=mysql_num_rows($result);
            if ($count>0){
              $row=mysql_fetch_assoc($result);
              $needid=$row['id'];
              echo $needid;
            } else {echo 'netu takogo id';} 
            }
            else {echo 'parametr ne zadan';}
            ?>
            

            2) вызываем его
            [!NeedId? &myparam=`parametr`!]
            Как писать сниппеты я знаю... В моем вопросе есть строка "есть ли что стандартное?"
            AKots спасибо.
              • 6623
              • 127 Posts
              эээ... еще вопрос, как мне теперь это вызвать в шаблоне?
                • 11255
                • 193 Posts
                Quote from: DAS at Dec 21, 2009, 01:02 AM

                эээ... еще вопрос, как мне теперь это вызвать в шаблоне?
                что именно? то что Акост написал?
                  • 6623
                  • 127 Posts
                  да
                    • 37783
                    • 85 Posts
                    Кто нибудь может для Revo аналог такого снипета или функции дать

                    $modx->documentListing['нужный псевдоним'] неработает
                    $modx->db->query($sql); не работает
                      • 31246 ☆ A M B ☆
                      • 428 Posts
                      Quote from: nikolay_m at Nov 21, 2011, 04:54 AM
                      Кто нибудь может для Revo аналог такого снипета или функции дать

                      $modx->documentListing['нужный псевдоним'] неработает
                      $modx->db->query($sql); не работает
                      Может более оптимальное решение есть, тоже такого не нужно было.
                      Как вариант
                      $aliasid = $modx->getObject('modResource', array('alias'=>$alias));
                      $id = isset($aliasid) ? $aliasid->id : '';
                      return $id;
                      [ed. note: valikras last edited this post 14 years, 11 months ago.]
                        Valentin Rasulov - Industrial design (Hobbies - Web Development)
                        Development not standard projects on CMF MODx Revolution.
                        Small sample of extensions