We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 27724
    • 65 Posts
    В данный момент делаю так:
    создал сниппет при помощи форума:
    <?php
    \\[[GetTitleParent? &id=`n`]]
    $pid = $id;
    $output = $modx->getPageInfo($id,’pagetitle’);
    return $output;
    ?>
    вызываю [[GetTitleParent? &id=`[*id*]`]]
    В програмировании есть азы, в пхп нет. Подскажите что не так.
      Лечите компьютер от вирусов здесь http://virusinfo.info
      • 27724
      • 65 Posts
      использование сниппета GetField дает больше и не надо изобретать колесо
        Лечите компьютер от вирусов здесь http://virusinfo.info
        • 31213
        • 153 Posts
        Не люблю ко всякому низкоуровневому хламью обращаться через $modx класс :

        <?php
        $Parent = mysql_fetch_assoc($modx->db->query("SELECT `pagetitle` FROM `".$modx->db->config['table_prefix']."site_content` WHERE `id` = '".$modx->documentObject['parent']."'"));
        return $Parent['pagetitle'];
        ?>
        
          • 33694
          • 742 Posts
          Не люблю ко всякому низкоуровневому хламью обращаться через $modx класс :
          Но в приведённом коде вы $modx класс дёргаете трижды laugh
            • 31213
            • 153 Posts
            [e]Bu$ter Вот так вот без всякого использования класса, работает быстрей, чем мой предыдущий вариант на 20% ))

            <?php
            echo mysql_result(mysql_query("SELECT `pagetitle` FROM `site_content` WHERE `id` = ".$id.""),0);
            ?>

            smeley У меня твой пример вообще никак не работает на 0.9.5 Я смотрел функцию getPageInfo - она работает немного по-другому.
              • 27724
              • 65 Posts
              Vadya Corp мой первоначальный пример у меня тоже ни хрена не заработал. Но при помощи Igor и форума он стал во таким:
              <?php
              /*[[GetTitleParent? &id=`n`]]*/
              $pid = $id;
              if ($pid==0)
              {$output=$modx->getDocument($pid,1,’pagetitle’);}
              else
              {$output = $modx->getParent($pid,1,’pagetitle’);}
              return $output[’pagetitle’];
              ?>
              У меня 0.9.5 все работает, но дело в том,что если родителя у документа нет (1 уровень после корня сайта), то соответственно выводится пустое поле, а мне надо чтобы тогда выводилось поле pagetitle этой страницы (как сделать на это if else я не понял). Так как я новичок в пхп и модх,я пошел путем наименьшего сопротивления и нашел сниппет GetField. Если его посмотреть там по любому есть эта проверка, но для меня это сложновато. Если для кого-то это просто подскажите эти пару строчек кода. if ($pid==0) эта строка не дает нужного эффекта
                Лечите компьютер от вирусов здесь http://virusinfo.info
                • 31213
                • 153 Posts
                smeley

                <?php
                // [[GetTitleParent? &id=`n`]]
                $p = mysql_fetch_assoc(mysql_query("SELECT `pagetitle`, `parent` FROM `".$modx->db->config[’table_prefix’]."site_content` WHERE `id` = ".$id.""));
                if ($p[’parent’]) echo mysql_result(mysql_query("SELECT `pagetitle` FROM `".$modx->db->config[’table_prefix’]."site_content` WHERE `id` = ".$p[’parent’].""),0);
                else echo $p[’pagetitle’];
                ?>

                Только что проверял на 0.9.5 - работает отлично. Работает независимо от префикса таблиц (вот тут один раз использовал все таки класс модиксовый smiley)
                  • 27724
                  • 65 Posts
                  Vadya Corp. спасибо!Все работает на ура!
                    Лечите компьютер от вирусов здесь http://virusinfo.info