We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 23451
    • 232 Posts
    Что-то мне в последнее время везет на глюки в MODx. Вот и теперь наткнулся на очень странную вещь. Итак, Evo 1.0.2. Есть документ в content у которого
    <p>bla bla bla bla!</p><a href="#">тест</a>

    Мне надо выводить или не выводить этот контент в зависимости от некоторых условий.
    Вывожу простейшим сниппетом (для дебага вывожу еще в файл):
    if ($parent=='1') {
        file_put_contents("/usr/local/www/domain.com/assets/snippets/update/test.txt", $text);
        return "<div class='subtext'>".$text."</div>";
    }
    


    И что я вижу в файле:
    <p>bla bla bla bla!</p><a hre


    Как это блин понимать? Почему оно так обрезается? И обрезаются вроде только ссылки.
      • 785
      • 2,113 Posts
      Еще один вопрос для телепатов, так как никто другой не может догадаться, откуда берется значение в переменной $text.
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 23451
        • 232 Posts
        Сорри, оно напрямую передается в сниппет &text=`[*content*]`
          • 785
          • 2,113 Posts
          Возможно, есть ограничения на длину передаваемых параметров, но в любом случае лучше для получения контента использовать $modx->documentObject[’content’]
            Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
            Статьи о MODx, регулярно новые публикации
            • 23451
            • 232 Posts
            Ваш метод действительно работает. Спасибо.
            А если передавать как параметр то там идет какая-то фильтрация, но не по размеру, а по содержимому. Что было для меня весьма не ожиданно.
              • 6968
              • 4 Posts
              У меня другая проблема. huh
              Заметил проблему ссылок на любой странице если она href="#"
              Решил проверить, сделал сниппет "test"
              вызываю из сниппета:
              <?php
              $output="
              <a id=\"open\" class=\"open\" href=\"#\">Открыть</a>
              <a id=\"close\" style=\"display: none;\" class=\"close\" href=\"#\">Закрыть</a>
              ";
              return $output;
              ?>
              вызываю из шаблона [!test!]
              На первой странице все в норме. Ссылки никуда не ведут.
              Однако при нажатии этих ссылок из других страниц меня перебрасывает на первую... Уже не знаю куда рыть
              Прямой вызов http://127.0.0.1/# перебрасывает на 1 страницу.
              Если изменить основную страницу в настройках на любую другую то перекидывает на нее.
                • 785
                • 2,113 Posts
                Quote from: dekranion at Feb 12, 2010, 07:43 AM

                У меня другая проблема.
                При наличии base href надо для относительных ссылок задавать путь от начала сайта, то есть не #name, а part/page#name.
                  Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                  Статьи о MODx, регулярно новые публикации
                  • 6968
                  • 4 Posts
                  Прошу сильно ногами не пинать...
                  Вот так передается id страницы...
                  \"[~[*id*]~]#\"
                  Но что делать если я хочу использовать такую ссылку в шаблоне.
                  У меня передается только <a href=main.html#> на всех страницах.
                  php я практически не знаю. Подскажите если не в лом.

                  Спасибо Всем Нашел решение.
                  Плагин:

                  $e= & $modx->Event;
                  switch ($e->name) {
                      case "OnWebPagePrerender" :
                          $modx->documentOutput= str_replace('href="#', 'href="' . $modx->makeUrl($modx->documentIdentifier) . '#', $modx->documentOutput);
                          break;
                  }


                  Вешается на событие OnWebPagePrerender