On March 26, 2019 we launched new MODX Forums. Please join us at the new MODX Community Forums.
Subscribe: RSS
  • Всем привет =),
    довольно странно работает DittoCal 1.1
    Все делал как писалось в туториалах, ну и в темах поддержки Ditto
    blog json output выглядит так:
    {
     "title":"blog json output",
     "link":"http://www.modx92.ru/index.php?id=5",
     "description":"",
     "language":"english",
     "copyright":"My MODx Site 2006",
     "copyright":"My MODx Site 2006",
     "ttl":"120",
     "entries":[
     
      {
       "title":"News 1.1",
       "link":"http://www.modx92.ru/index.php?id=7",
       "description":"News 1.1",
       "content":"News 1.1",
       "pubDate":"25-11-2006",
       "guid":"http://www.modx92.ru/index.php?id=7",
       "author":"Built-in Administration account"
      },
    
      {
       "title":"News2",
       "link":"http://www.modx92.ru/index.php?id=4",
       "description":"2 Description",
       "content":"introtext",
       "pubDate":"25-11-2006",
       "guid":"http://www.modx92.ru/index.php?id=4",
       "author":"Built-in Administration account"
      },
    
      {
       "title":"News1",
       "link":"http://www.modx92.ru/index.php?id=3",
       "description":"2",
       "content":"111111",
       "pubDate":"25-11-2006",
       "guid":"http://www.modx92.ru/index.php?id=3",
       "author":"Built-in Administration account"
      } 
     ]
    }
    


    Календарь вызывается так:
    [!DittoCal? &dayNameLength=`1`!]

    путь к blog json output прописан в самом сниппете:
    $calSource = isset($calSource) ? $calSource : ’http://www.modx92.ru/index.php?id=5’;

    Календарь появляется, в нем сылкой выделяется 25 число, но если тыкнуть, то отображется не 3 новости, а только одна =( самая последняя.

    версия Ditto - 1.0.2
    Modx 0.9.2 + патч
    Денвер последняя версия, с php 5.2

    Хелп
    • Спешу вас обрадовать! Это не странно, это нормально smiley
      Глючно, неудобно, но факт. Так построен код, и остается только надеятся, что в будущих версиях сделают по-человечески. Или самим делать smiley
        http://www.avizion.ru/ — строим стартап!
        http://tonatos.ru/ — Заходите в гости...
      • К слову, а есть ли что-то похожее на DittoCal, но так, чтобы было возможно выводить календарь по русски.
        • Quote from: dmitry at Dec 04, 2006, 09:30 AM

          Ê ñëîâó, à åñòü ëè ÷òî-òî ïîõîæåå íà DittoCal, íî òàê, ÷òîáû áûëî âîçìîæíî âûâîäèòü êàëåíäàðü ïî ðóññêè.

          ß óæå ïåðåâ¸ë åãî íà ÐÓÑ. Íî òîëüêî òðàáë ñ òåì, ÷òî îí âûâîäèò òîëüêî îäíó, ïåðâóþ íîâîñòü îò ÷èñëà íå ðàçðåøèëàñü. :-(

          Ìîæåò êòî çàíåò, ÷òî òàì â êîäå íóæíî ïîäïðàâèòü huh
            Разработка сайтов на MODx
          • Насколько я понимаю в кач-ве вывода в DittoCall используется вот эта штука -
            PHP Calendar (version 2.3), written by Keith Devens http://keithdevens.com/software/php_calendar
            Как его возможно локализовать, так чтобы он выводил русские дни недели, год и т.д?
            • setlocale

              smiley
                "Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein."

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

                Who can defeat the Russian bear?
              • пробовал setLocale - на выходе получил каракули (

                ps: как мне думается для того чтобы выводилось несколько новостей а не одна - нужно править не календарь - а сам дитто, а календарем просто вызивать страничку и передавать ей дату чтобы уже сам дитто там все делал - в принципе - там у дитто есть помоему какието оффсеты - может чтото и можно придумать...

                меня вот больше волнует та хитрость с которой они даты пишут - так и не пойму как мне сделать русс/укр версии... (

                если у кого есть опыт - подскажите...
                • ïðîâåäÿ åùå äåíü çà ñíèïïåòîì, ñäåëàë âûâîä.
                  íóæíî âñòàâèòü setlocale(LC_TIME, ’ru_RU.CP1251’);èëè setlocale(LC_TIME, ’ru’); ,
                  êîðî÷å ïîäîáðàòü òó êîòîðàÿ íà ñåðâåðå.
                  è óäàëèòü ôóíêöèþ htmlentities() â ñòðîêàõ 275 è 287, òî åñòü îñòàâèòü òî ÷òî âíóòðè ñêîáîê.
                  Äà áóäåò russian date.
                    Меня банят на всех форумах! Низачто!!!
                  • Вобщем, я вчера тоже немного посидел и сделал по своему, кривовато конечно, но зато как раз для моих целей то что нужно:

                    заменил
                    //$title   = htmlentities(ucfirst($month_name)).' '.$year;  #note that some locales don't capitalize month and day names

                    на
                    switch(ucfirst($month_name))
                    {
                    case "January": $title="Январь"; break;
                    case "February": $title="Февраль"; break;
                    case "March": $title="Март"; break;
                    case "April": $title="Апрель"; break;
                    case "May": $title="Май"; break;
                    case "June": $title="Июнь"; break;
                    case "July": $title="Июль"; break;
                    case "August": $title="Август"; break;
                    case "September": $title="Сентябрь"; break;
                    case "October": $title="Октябрь"; break;
                    case "November": $title="Ноябрь"; break;
                    case "December": $title="Декабрь"; break;
                    }
                    $title.=' '.$year;


                    и вот это
                    //foreach($day_names as $d)
                    //$calendar .= '<th abbr="'.htmlentities($d).'">'.htmlentities($day_name_length < 4 ? substr

                    на (тут нужно учесть что по умолчанию у DittoCal первый день недели не понедельник, а воскресенье)
                    ($d,0,$day_name_length) : $d).'</th>';
                    $calendar .= '<th abbr="П">П</th>';
                    $calendar .= '<th abbr="В">В</th>';
                    $calendar .= '<th abbr="С">С</th>';
                    $calendar .= '<th abbr="Ч">Ч</th>';
                    $calendar .= '<th abbr="П">П</th>';
                    $calendar .= '<th abbr="С">С</th>';
                    $calendar .= '<th abbr="В">В</th>';


                    Вот собсно вот так вот у меня все и есть, зато теперь я сделал три копии этого снипета и могу там спокойно писать любой нужный мне текст.
                    • Решил проблему с выводом нескольких статей в DittoCal:

                      1. Создаем сниппет DittoCal, вставляем код из файла snippet_DittoCal.txt.
                      2. создаем сниппет vybor и вставляем в него код из файла snippet_vybor.txt
                      3. создаем страницу с любым заголовком (страница вывода статей) и вставляем в уонтент код
                      [!vybor!]

                      3. создаем страницу с именем и псевдонимом blog-json-output (не забудьте поставить шаблон (blank) и предварительно отключить визуальный HTML редактор) и вставляем код:
                      [!Ditto? &parents=`0` &depth=`50` &format=`json` &summarize=`100` &dateFormat=`%d.%m` &sortBy=`pub_date` &truncText=`` !]
                      

                      где
                      &parents=`0`
                      ID ресурса из которого будем тянуть дочерние ресурсы до глубины
                      &depth=`50`
                      в данном случае
                      мы тянем все ресурсы сайта до глубины 50.
                      4. вставляем в файл css вашего шаблона css код из файла style.css
                      5. вставляем куда угодно наш календарь вызовом:
                      [!DittoCal? &calSource=`http://ВАШСАЙТ.ru/blog-json-output` &IDTemp=`143` &dayNameLength=`1`!]

                      где
                      &IDTemp=`143`
                      ID странички вывода статей

                      Шаблон вывода находится в сниппете vybor в цикле while, css тоже можете под себя натсроить.

                      необходимые файлы можно взять из архива: http://depositfiles.com/ru/files/sgohmrtk5