We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 9172
    • 32 Posts
    Друзья! Мне понадобился простенький сниппет, который бы возвращал мне случайную строку. Я написал его, а он при множественных вызовах возвращает одно и то же значение. Почему так? sad

    А еще я ищу несколько функций - внутренности MODx знаю совсем нехорошо, так что писать самому - работать будет, но вот изящества ждать не стоит... Нужно:

    1) Сниппет, который вернет дату и время создания страницы, с учетом временной зоны (DITTO это делает, а вот готовый плейсхолдер отдает таймстемп, и как узнать настройки таймзоны MODx - я не знаю)

    2) Сниппет, который вернет имя автора страницы

    3) Сниппет, который вернет ID автора страницы

    4) Сниппет, который вернет ID текущего пользователя

    5) Сниппет, который покажет профайл выбранного пользователя.


    Вопросы:
    - Нет ли альтернативного Jot’у модуля добавления комментов?
    - Нужна возможность задания условий на страницах и в темплейтах. Может каким-то способом это реализуется?
    - Как, одновременно с регистрацией, создать страницу с именем или ID пользователя? Т.е. только через операции с DB, или есть какая-то функция API сайта? Собственно, вопрос можно упростить: каким образом можно несложно создать новую страницу smiley


    Спасибо! smiley
      Uwaga! Wlaczamy faze!
      • 30354
      • 227 Posts
      Друзья! Мне понадобился простенький сниппет, который бы возвращал мне случайную строку. Я написал его, а он при множественных вызовах возвращает одно и то же значение. Почему так?

      Возможно, потому что он закеширован. Вызывать надо [!сниппет!], а не [[сниппет]]. Второй вариант - сниппет не правиьно написан smiley Сам-то код рабочий?

      1) Сниппет, который вернет дату и время создания страницы, с учетом временной зоны (DITTO это делает, а вот готовый плейсхолдер отдает таймстемп, и как узнать настройки таймзоны MODx - я не знаю)
      http://modxcms.com/AuthorTimestamp-693.html

      2) Сниппет, который вернет имя автора страницы
      <?php
      if ($modx->documentObject[’createdby’]<0) {
      $tbl = $modx->getFullTableName("web_users");
      $sql = "SELECT username FROM $tbl WHERE $tbl.id = ’".abs($modx->documentObject[’createdby’])."’";
      $rs2 = $modx->dbQuery($sql);
      $resourceuser = $modx->fetchRow($rs2);
      $username = $resourceuser[’username’];
      }

      return $username;
      ?>

      3) Сниппет, который вернет ID автора страницы
      <?php
      global $modx;
      return abs($modx->documentObject[’createdby’]);
      ?>

      4) Сниппет, который вернет ID текущего пользователя
      <?
      global $modx;
      return $modx->getLoginUserID();
      ?>

      5) Сниппет, который покажет профайл выбранного пользователя.
      http://modxcms.com/forums/index.php/topic,8922.0.html
      http://modxcms.com/Web-user-info-1222.html
      "Personalize" - который идет в поставке...
      Вроде, в репозитории ещё что-то есть...

      - Нет ли альтернативного Jot’у модуля добавления комментов?
      Есть. UserComments.... только, это такая пакость. А чем Jot не угодил?

      - Нужна возможность задания условий на страницах и в темплейтах. Может каким-то способом это реализуется?
      Cниппетами, TV.

      - Как, одновременно с регистрацией, создать страницу с именем или ID пользователя? Т.е. только через операции с DB, или есть какая-то функция API сайта? Собственно, вопрос можно
      PPP
      http://modxcms.com/forums/index.php/topic,8922.0.html
        http://www.avizion.ru/ — строим стартап!
        http://tonatos.ru/ — Заходите в гости...
        • 9172
        • 32 Posts
        На такой отличный развернутый ответ я даже не надеялся рассчитывать! smiley Спасибище!!!
          Uwaga! Wlaczamy faze!
          • 9172
          • 32 Posts
          Да, Jot - не угодил. Он слишком хорош для моих целей, мне надо намного проще )
            Uwaga! Wlaczamy faze!
            • 30354
            • 227 Posts
            Quote from: eugeniusz at May 03, 2007, 11:05 AM

            На такой отличный развернутый ответ я даже не надеялся рассчитывать! smiley Спасибище!!!
            Время свободное выдалось! ;-) Проблемы схожие как раз решал, так что и получилась возможность ответить smiley

            По поводу работоспособности всего - не уверен. Может быть, есть ошибки - писал по памяти. Если Jot сложен, то можете попробовать UserComments, но он тупой!!! Лучше Jot. Лучше учитесь smiley
              http://www.avizion.ru/ — строим стартап!
              http://tonatos.ru/ — Заходите в гости...
              • 9172
              • 32 Posts
              C Jot я разобрался, сейчас он у меня работает - но мне в нем многое не нравится, и я думаю - переделать для MODx свой старый движок комментов, или взять готовый. Склоняюсь к первому, т.к. уж он-то меня точно устраивает, но указанный посмотрю, а вдруг )
                Uwaga! Wlaczamy faze!
                • 897
                • 1,620 Posts
                заюзайте http://js-kit.com/
                  "Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein."

                  Не используйте Revo для "просто сайтов". Используйте Evo

                  Who can defeat the Russian bear?
                  • 26586
                  • 184 Posts

                  1) Сниппет, который вернет дату и время создания страницы
                  [*createdon:date=`формат даты для strftime`*]



                  2) Сниппет, который вернет имя автора страницы
                  [*createdby:userinfo=`username`*]


                  3) Сниппет, который вернет ID автора страницы
                  [*createdby*]


                  4) Сниппет, который вернет ID текущего пользователя
                  [+phx:userinfo=`id`+]


                  5) Сниппет, который покажет профайл выбранного пользователя.
                  [+phx:input=`5`:userinfo=`username`+] - имя вебюзера под номером 5

                  дальше по аналогии, нужен подключенный PHx

                  посмотрите еще jot, там часто он используется