We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 39706
    • 34 Posts
    Не могу понять, почему не работает. Делаю так:
    <title>[[+other_pagetitle:default=`[[*pagetitle]]`]]</title>

    и даже так:
    <title>[[+other_pagetitle:ne=``:then=`[[+other_pagetitle]]`:else=`[[*pagetitle]]`]]</title>

    А в сниппете:
    $modx->setPlaceholder('other_pagetitle', 'Фотография №'.$pid.' :: Лучшая романтическая пара');

    Но в title указывается
    [[*pagetitle]]
    , а если рядом еще без условий выводить
    [[+other_pagetitle]]
    , то он отображается, т.е. не пустой. Что я делаю не так?
      • 37783
      • 85 Posts
      а вы сам снипет вызываете на странице перед тем как выводить плейсхолдер?
        • 39706
        • 34 Posts
        я точно не знаю, опишу структуру, может вы подскажете smiley
        есть чанк head, в котором делается шапка (эт чтобы использовать её во всех шаблонах), соответственно этот чанк вызывается в самом начале шаблона, а потом уже делается все остальное. в этом чанке и выполняется это условие с title
          • 39706
          • 34 Posts
          Сделал вызов чанка таким:
          [[$head? &pagetitle=`[[+other_pagetitle]]`]]

          А в чанке:
          [[+pagetitle:notempty=`[[+pagetitle]]`:else=`[[*pagetitle]]`]]

          Но все равно также фигня sad
            • 37783
            • 85 Posts
            Чтобы создался плейсхолдер вам нужно вызвать сниппет который его создает.

            $modx->setPlaceholder('other_pagetitle', 'Фо�ог�а�и� �'.$pid.' :: ����а� �оман�и�е�ка� па�а');


            Это вы где вызываете, вот тот снипет и запустите его перед выводом плейсхолдера.

            и вообще мне кажется нет смысла делать плейсхолдер всеравно вы снипет 1 раз вызовите плейсхолдеры нужны если вам надо много раз на странице нужно использовать данные от 1 снипета
              • 37783
              • 85 Posts
              да и поищите аддон SeoHead он автоматом генерирует все это дело
                • 39706
                • 34 Posts
                Дело в том, что у меня тайтл меняется в зависимости от гет-параметра. Сделал снипет и в нем вот это (кусок кода, где плейсхолдер ставлю):
                $html = $modx->runSnippet('GalleryItem', array(
                				 'id'										=> $item_id,
                					'imageHeight' => '260',
                					'toPlaceholders' => false,
                					'tpl'									=> 'myGalleryItem',
                					'albumTpl'				=> 'myGalleryItemAlbumTpl'
                				));
                
                				$c = $modx->newQuery('galItem');
                				$c->select($modx->getSelectColumns('galItem','galItem'));
                				$c->where(array(
                								'id' => $item_id,
                				));
                				$item = $modx->getObject('galItem',$c);
                				$modx->setPlaceholder('other_pagetitle', $item->get('name').' :: Галерея');

                Так что SeoHead наверн не подойдет. $item_id берется выше:
                $item_id=(isset($_REQUEST['galItem'])?intval($_REQUEST['galItem']):0);
                  • 31246 ☆ A M B ☆
                  • 428 Posts
                  Дело в том, что у меня тайтл меняется в зависимости от гет-параметра
                  сделайте отдельный шаблон и пропишите свой плейсхолдер.
                  [[!+other_pagetitle]]

                  ну и станицу нужно не кэшировать, так как он первый раз по умолчанию в кэш бросайт, или ставьте вызов так
                  <title>[[!+other_pagetitle:default=`[[*pagetitle]]`]]</title>
                    Valentin Rasulov - Industrial design (Hobbies - Web Development)
                    Development not standard projects on CMF MODx Revolution.
                    Small sample of extensions
                    • 31246 ☆ A M B ☆
                    • 428 Posts
                    а вообще я делаю отдельный шаблон для таких целей, и в снипете пишу
                    $modx->regClientStartupHTMLBlock('<title>'.$othPageTitle.'</title>');

                    соответствено в шаблоне в head тег title не ставлю
                      Valentin Rasulov - Industrial design (Hobbies - Web Development)
                      Development not standard projects on CMF MODx Revolution.
                      Small sample of extensions
                      • 39706
                      • 34 Posts
                      Сделал через новый шаблон с новым чанком head_other, где
                      <title>[[+other_pagetitle]]</title>

                      А так не хочется плодить шаблоны...