Проблема с отложенной публикацией Tickets

Заметил такую проблему, при создании нового тикета не возможно поменять дату публикации, на более старую выводится все равно дата публикации настоящая,
такая же проблема с отложенной публикацией, при назначении даты публикации после наступления назначенной даты тикет не публикуется, при том что если это просто modx документ то он публикуется без проблем
wgame
31 января 2015, 03:42
modx.pro
2
3 091
0

Комментарии: 28

wgame
03 февраля 2015, 08:25
0
Хотелось бы услышать ответ Василия
    Максим Кузнецов
    03 февраля 2015, 08:32
    0
    Сортировка идет по publishedon или createdon? Кэшированный вызов?
    Вообще, хорошо бы приложить чанк/сниппет вызова.

    В крайнем случае, в чанке для отображения нужной даты можно оформить вызов как
    [[!dateAgo? &input=`[[*publishedon]]`]]
      wgame
      03 февраля 2015, 08:45
      0
      немного не то

      я про это
      не срабатывает дата публикации
      и так же если изменить дату опубликован на другую дату ничего не меняется дата остается та когда ресурс был опубликрван
        wgame
        03 февраля 2015, 08:51
        0
        По отложенной публикации нормально а
        так же если изменить дату опубликован на другую дату ничего не меняется дата остается та когда ресурс был опубликован
        остается в силе
          Максим Кузнецов
          03 февраля 2015, 09:01
          0
          Может, вызов даты вызывается кэшируемым, в результате чего дата берется из кэша?

          [[Кэшируемый-сниппет]]
          [[!Некэшируемый-сниппет]]
            wgame
            03 февраля 2015, 09:13
            0
            да нет с этим вроде все нормально вот вызов
            [[!TicketMeta? &tpl=`tickets.meta` &tplFile=`tickets.meta.file` &getUser=`0` &getSection=`0` &getFiles=`0` &unusedFiles=`0`]]
            tickets.meta
            <div class="info" data-id="[[+id]]">
                <span>[[+date_ago]]</span>
            </div>
            Федор
            11 января 2016, 02:18
            0
            Здравствуйте! Подскажите, как вы решили проблему с отложенной публикацией? у меня и без выводов на странице, в админке после просрочки времени тикет не публикуется, сколько не обновляй страницу. Публикуется только если в ручную нажать опубликовать, либо, что тоже странно — перейдя на редактирования тикета, нажав «сохранить» все сразу публикуется, именно тем временем, которое я указал. Но как вы уже поняли с просрочкой, так как я, увидев, что ничего не работает, зашел и «в ручную» опубликовал тикет…
              Сергей Шлоков
              11 января 2016, 08:40
              0
              Публикация и снятие с публикации происходят как раз на сайте. У админки другие задачи.
                Федор
                11 января 2016, 18:39
                0
                Не очень понимаю, что нужно сделать :( у обычного документа в modx отложенная публикация работает… а в тикетах нет :(( я думал дело в кэше тикетов… это не то решение — bezumkin.ru/sections/tips_and_tricks/351/#comment-8488? правда не про тикеты речь шла…
                  Сергей Шлоков
                  11 января 2016, 19:40
                  0
                  У тикетов не предусмотрен механизм автопубликации. Подозреваю, что из-за того, что это фрондэнд компонент. Его создает пользователь и либо сохраняет в черновик, либо публикует. Третьего не дано.
                    Федор
                    11 января 2016, 19:43
                    0
                    уууххххх. беда :(
                      Федор
                      11 января 2016, 19:52
                      0
                      весь сайт перевел на них, так как удобнее. и доверился фразе из документации
                      Так же секция тикетов и сам тикет это расширенный стандартный «modDocument» по этому имеет все те же TV поля, плейсхолдеры и логика работы.
                      странно… ведь доп поле же есть такое… я думаю, Василий бы убрал его, как минимум, написал бы пометочку, если отложенная автопубликация не работает. Очень странно :(
                        Сергей Шлоков
                        12 января 2016, 08:46
                        2
                        +2
                        В чем проблема? Сделайте плагин на событие OnDocFormSave
                        switch ($modx->event->name) {
                            case 'OnDocFormSave':
                                if ($resource instanceof Ticket) {
                                    $contexts = array();
                                    $query = $modx->newQuery('modContext');
                                    $query->select($modx->escape('key'));
                                    if ($query->prepare() && $query->stmt->execute()) {
                                        $contexts = $query->stmt->fetchAll(PDO::FETCH_COLUMN);
                                    }
                                    $modx->cacheManager->autoPublish(array_diff($contexts, array('mgr')));
                                }
                                break;
                        }
                          Федор
                          12 января 2016, 17:31
                          0
                          Спасибо!!!
                  Федор
                  11 января 2016, 18:53
                  0
                  кстати у меня в админке, у ресурса не появляется статус опубликован после назначенной даты… активируется только, если зайти в ресурс, и снова нажать сохранить, тогда сразу публикуется, я даже не нажимаю опубликовать специально, и на сайт выводится время, которое я указывал, но это бутафория потому что я по сути обновил ресурс спустя 10 минут просроченной даты. Именно поэтому думал, что дело в кэше
                    Сергей Шлоков
                    11 января 2016, 19:37
                    0
                    Если обновить сайт после назначенной даты, то ресурсы должны опубликоваться, что можно проверить в админке.
                      Федор
                      11 января 2016, 19:42
                      0
                      пробовал только обновлять страницу в админке и на сайте, ничего не менялось. отчищать кэш сайта не пробовал на тот момент… в любом случае не понимаю, почему это на автомате не делается… ресурсы вызываются через
                      [[!pdoPage?
                      &ajaxMode=`scroll`
                      &showHidden=`1`
                      &hideContainers=`1`
                      &tpl=`news_list`
                      &tplOdd=`news_list2`
                      &includeTVs=`image`
                      &parents=`28,44,45,53,47,51,61,62,102,112`
                      ]]
                      при добавлении параметра
                      &element=`getTickets`
                      почему то тв image отваливается из новостей…
        Wassi Wassinen
        03 февраля 2015, 09:23
        0
        Тикет публикуется или нет?
          wgame
          03 февраля 2015, 09:24
          0
          тикет публикуется но дата не меняется, то есть в админке она меняется, а на сайте нет
            Максим Кузнецов
            03 февраля 2015, 09:59
            0
            [[!dateAgo? &input=`[[+pub_date]]`]]
              wgame
              03 февраля 2015, 10:22
              0
              вообще ничего не произошло, ничего не появилось даже
                Максим Кузнецов
                03 февраля 2015, 10:38
                0
                [[+pub_date:default=`[[+publishedon]]`]]
                — так выводится что-нибудь (в чанке). (возможно, у вас не +, а * в вызове, если чанк вызывается в шаблоне самой новости)
                  wgame
                  03 февраля 2015, 10:59
                  0
                  если вывожу так
                  <div class="row article_list" data-id="[[+id]]">
                      <div class="col-md-3">
                          <figure>
                              <img src="[[!phpthumbon? &input=`[[+preview]]` &options=`w=220&h=160&zc=1&f=jpg`]]" alt="[[+pagetitle]]">
                          </figure>
                      </div>
                      <div class="col-md-9">
                          <h3><a href="[[~[[+id]]]]">[[+pagetitle]]</a></h3>
                          <div class="info" data-id="[[+id]]">
                              <span>[[+pub_date:default=`[[+publishedon]]`]]</span>
                              <!--<span>Просмотров: [[+views]]</span>
                              <span><a href="[[~[[+section.id]]]]">[[+section.pagetitle]]</a></span>-->
                              
                          </div>
                          <p>[[+introtext:phphypher=`250`]]</p>
                      </div>
                  </div>
                  то результат такой
                  1422873840
                  если так
                  <div class="row article_list" data-id="[[+id]]">
                      <div class="col-md-3">
                          <figure>
                              <img src="[[!phpthumbon? &input=`[[+preview]]` &options=`w=220&h=160&zc=1&f=jpg`]]" alt="[[+pagetitle]]">
                          </figure>
                      </div>
                      <div class="col-md-9">
                          <h3><a href="[[~[[+id]]]]">[[+pagetitle]]</a></h3>
                          <div class="info" data-id="[[+id]]">
                              <span>[[!pub_date:default=`[[+publishedon]]`]]</span>
                              <!--<span>Просмотров: [[+views]]</span>
                              <span><a href="[[~[[+section.id]]]]">[[+section.pagetitle]]</a></span>-->
                              
                          </div>
                          <p>[[+introtext:phphypher=`250`]]</p>
                      </div>
                  </div>
                  то пусто
                    Максим Кузнецов
                    03 февраля 2015, 11:08
                    1
                    0
                    Отлично, значит результат есть.

                    Теперь, если дату необходимо представить с возможностями «тикетов» — (сегодня/вчера, 5 минут назад) и так далее, то вам необходимо поставить дополнение DateAgo modstore.pro/packages/utilities/dateago и вызывать в нужном месте таким:
                    [[!dateAgo? &input=`[[+pub_date:default=`[[+publishedon]]`]]`]]
                    или таким образом:
                    [[+pub_date:default=`[[+publishedon:dateAgo]]`:dateAgo]]

                    Если же такой необходимости нет, то преобразовать текущий результат (unix timestamp) в обычную дату можно следующим образом:

                    [[+pub_date:default=`[[+publishedon:strtotime:date=`%a %b %e, %Y`]`:strtotime:date=`%a %b %e, %Y`]]
                    (возможно, без последнего ":strtotime:date=`%a %b %e, %Y`", но точно не скажу).

                    Формат даты, соответственно, настраивается по желанию (вот перечень доступных).
                      wgame
                      03 февраля 2015, 11:51
                      0
                      да теперь все выводит как надо спасибо вам большое
          Федор
          11 января 2016, 18:54
          0
          Здравствуйте! что делать, если не публикуется?
          wgame
          11 января 2016, 20:37
          0
          ДА я тоже так и не добился работоспособности функционала, перешел на ресурсы и Collections очень удобно попробуйте может подойдет
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            28