ФорумПрограммированиеJavaScript → JS шабонизатор ахуенный

JS шабонизатор ахуенный

  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 10 декабря 2010 г. 7:55

    надо :-)

    что быддерживал инклуды, каллбаки и функции шаблона, в общем нужно чтото типа смарти только на яваскрипте. кто нить встречался? неужели опять самому писать? :(
    Сапожник без сапог
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 10 декабря 2010 г. 9:30, спустя 1 час 34 минуты 54 секунды

    сука нахуй нубы, еще про называются :-!
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 10 декабря 2010 г. 9:33, спустя 18 секунд

    ага, спс маврэ!
    Сапожник без сапог
  • krasun

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 10 декабря 2010 г. 13:31, спустя 3 часа 57 минут 39 секунд

  • Josh

    Сообщения: 2009 Репутация: N Группа: Кто попало

    Spritz 15 декабря 2010 г. 6:48, спустя 4 дня 17 часов 17 минут

    Я писал нативно - нахуй надо, джс обычно тормозит и без этого.
    А вообще сделал как: свернул крышу самому smarty, чтоб он выплёвывал к примеру не
    echo &quot;<b>Количество: &quot;;echo $count;echo &quot;</b>&quot;;

    а
    html = &quot;<b>Количество: &quot;+data.count+&quot;</b>&quot;

    потом пишу темплейт на html в смарти и компилю. Естественно в переменную js data передаю всё что ассигню в смарти
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 15 декабря 2010 г. 6:53, спустя 4 минуты 37 секунд

    у меня не будет пхп в принципе. будет веб сервис и клиент к нему
    Сапожник без сапог
  • Josh

    Сообщения: 2009 Репутация: N Группа: Кто попало

    Spritz 15 декабря 2010 г. 7:32, спустя 39 минут 20 секунд

    Ты новерное не так понял. Тебе надо генерить страницу.
    Ведь так?
    Так вот - я просто переписал смарти так, чтобы генерил не html шаблон, а джаваскрипт, который собирает html в строку, а потом эту строку apply куда надо.
    Так ясно?
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 15 декабря 2010 г. 8:38, спустя 1 час 5 минут 41 секунду

    мне не надо генерировать страницу. мне жсона достаточно для транспорта. путал мне от лукавого {+++16+++} мне не надо генерировать страницу. мне жсона достаточно для транспорта. путал мне от лукавого {+++49+++} чисто ява скриптовое приложение будет.
    Сапожник без сапог
  • Sinkler

    Сообщения: 9658 Репутация: N Группа: в ухо

    Spritz 15 декабря 2010 г. 9:45, спустя 1 час 7 минут 27 секунд

    дуд по два раза раза не повторяет не повторяет :)
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 15 декабря 2010 г. 11:29, спустя 1 час 44 минуты 19 секунд


    дуд по два раза раза не повторяет не повторяет :)
    я с телефона писал, чето конект с вайфаем ступил))
    Сапожник без сапог
  • Josh

    Сообщения: 2009 Репутация: N Группа: Кто попало

    Spritz 16 декабря 2010 г. 0:30, спустя 13 часов 37 секунд


    мне не надо генерировать страницу. мне жсона достаточно для транспорта. путал мне от лукавого {+++16+++} мне не надо генерировать страницу. мне жсона достаточно для транспорта. путал мне от лукавого {+++49+++} чисто ява скриптовое приложение будет.
    Блять, то ли я не правильно выражаюсь толи хуй его знает, я тебе про тоже. вот пример кода, который смарти выдаёт (немного руками конечно подправлять приходиться, данные джсоном и ходят)
    function LoadMessagesList(is_link, el, p){
     if(is_link){
       lstr = $(el).attr(&#39;href&#39;);
     } else {
         lstr = &#39;0/0/&#39;+p;
     }
     $(&#39;#ajaxload&#39;).show();
     $.getJSON(request_0+&#39;jx/get_messages_list/&#39;,{url: lstr}, function(j){            
       j = j.value;
       html_text = &#39;&#39;;
       if(j.correct){
         html_text += &#39;<div class=&quot;styleline1&quot;></div><div class=&quot;a_buttons_block&quot;><table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;allwidth&quot;><tr><td class=&quot;left&quot;> </td><td class=&quot;right paddright20&quot; id=&quot;pagertd&quot;>&#39;;
         if (j.pager){
           html_text += &#39; <div class=&quot;pager&quot;>&#39;;
           if (j.pager.First){
             html_text += &#39; <a accesskey=&quot;p&#39;+j.pager.First+&#39;&quot; href=&quot;&#39;+request_0+&#39;messages/&#39;+j.pager.First+&#39;/&quot; class=&quot;music_a&quot; id=&quot;pgr_first&quot;>«</a>&#39;;
           } else {
               html_text+=&#39; <span>«</span>&#39;;
           }
           html_text+=&#39; &#39;;
           if (j.pager.Previous){
             html_text += &#39; <a accesskey=&quot;p&#39;+j.pager.Previous+&#39;&quot; href=&quot;&#39;+request_0+&#39;messages/&#39;+j.pager.Previous+&#39;/&quot; class=&quot;music_a&quot;>‹</a> &#39;;
           } else {
               html_text+=&#39; <span>‹</span> &#39;;
           }
           for(i in j.pager.Numbers){
             if(j.pager.Numbers != j.pager.Current){
               html_text += &#39;<a accesskey=&quot;p&#39;+j.pager.Numbers+&#39;&quot; href=&quot;&#39;+request_0+&#39;messages/&#39;+j.pager.Numbers+&#39;/&quot; class=&quot;music_a&quot;>&#39;+j.pager.Numbers+&#39;</a> &#39;;
             } else {
                 html_text += &#39;<span>&#39;+j.pager.Numbers+&#39;</span> &#39;;
             }
           }
           if (j.pager.Next){
             html_text += &#39; <a accesskey=&quot;p&#39;+j.pager.Next+&#39;&quot; href=&quot;&#39;+request_0+&#39;messages/&quot; class=&quot;music_a&quot;>›</a>&#39;;
           } else {
               html_text+=&#39; <span>›</span>&#39;;
           }
           html_text+=&#39; &#39;;
           if (j.pager.Last){
             html_text += &#39; <a accesskey=&quot;p&#39;+j.pager.Last+&#39;&quot; href=&quot;&#39;+request_0+&#39;messages/&#39;+j.pager.Last+&#39;/&quot; class=&quot;music_a&quot;>»</a>&#39;;
           } else {
               html_text+=&#39; <span>»</span>&#39;;
           }
           html_text+=&#39; </div><div class=&quot;styleline2&quot;></div>&#39;;
         }
         html_text+=&#39; </td> </tr></table></div><div class=&quot;bordered margintop&quot; id=&quot;pane_messages_container&quot;><div id=&quot;pane_messages&quot;>&#39;;
         if (count(j.List) > 0){
           html_text += &#39;<table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; class=&quot;list hist_list&quot; width=&quot;100%&quot;>&#39;;
           for(i in j.List){
             html_text+=&#39; <tr><td><table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;><tr><td><img src=&quot;&#39;+request_0+&#39;images/bigmail&#39;;
             if (j.List.user_readed == 1){
               html_text += &#39;t&#39;;
             }
             html_text+=&#39;.gif&quot; alt=&quot;&#39;+j.List.login+&#39;&quot; /> </td><td class=&quot;imgbrd&quot;><a href=&quot;&#39;+request_0+&#39;users_messages/&#39;+j.List.from_user_id+&#39;/&quot;>&#39;;
             if (strlen ( j.List.avatar_picture ) > 0){
               html_text += &#39; <img height=&quot;50&quot; src=&quot;&#39;+request_0+&#39;images/user_images/&#39;+j.List.from_user_id+&#39;/avatar/&#39;+j.List.avatar_picture+&#39;.jpg&quot; alt=&quot;&#39;+j.List.login+&#39;&quot; />&#39;;
             } else {
                 html_text+=&#39; <img height=&quot;50&quot; src=&quot;&#39;+request_0+&#39;images/ava_&#39;;
                 if (j.List.is_man == 1){
                   html_text += &#39;man&#39;;
                 } else {
                   if (j.List.is_man == 2){
                     html_text += &#39;alien&#39;;
                   } else {
                       html_text+=&#39;woman&#39;;
                   }
                 }
                 html_text+=&#39;.gif&quot; alt=&quot;&#39;+j.List.login+&#39;&quot; />&#39;;
             }
             html_text+=&#39; </a></td><td class=&quot;maintmess&quot; id=&quot;min&#39;+j.List.from_user_id+&#39;&quot;><br /><span&#39;;
             if (j.List.user_readed == 1){
               html_text += &#39; class=&quot;t&quot;&#39;;
             }
             html_text+=&#39;>&#39;+j.List.login+&#39;</span><div class=&quot;light&quot;>Всего сообщений от &#39;+j.List.login+&#39;: &#39;+j.List.count+&#39;<br />Последнее сообщение: &#39;+j.List.added_at+&#39; </div></td></tr></table> </td></tr>&#39;;
           }
           html_text += &#39;</table>&#39;;
           } else {
               html_text+=&#39;<center><span class=&quot;white&quot;>Сообщений нет</span></center>&#39;;
           }
           html_text+=&#39;</div></div>&#39;;
         }
         document.getElementById(&#39;main_content&#39;).className = &#39;main_content_back&#39;;
         $(&#39;#app_title&#39;).html(&#39;Сообщения&#39;);
         $(&#39;#main_content_child_div&#39;).fadeTo(&quot;fast&quot;, 0.0,function(){
          $(&#39;#ajaxload&#39;).hide();          
          $(&#39;#main_content_child_div&#39;).html(html_text);
          LoadMessageListReady();
         $(&#39;#main_content_child_div&#39;).fadeTo(&#39;fast&#39;, 1.0);
      });      
     
      document.location=request_0+&#39;#messages-&#39;+(j.pager?j.pager.Current:&#39;1&#39;);
           
       });
     return false;
    }

  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 16 декабря 2010 г. 0:31, спустя 33 секунды

    Josh, идея забавная, но посмотри в сторону либы маврэ, она ахуенна. вот ее и буду юзать, за идею спасибо, может пригодится где ;)
    Сапожник без сапог
  • Josh

    Сообщения: 2009 Репутация: N Группа: Кто попало

    Spritz 16 декабря 2010 г. 0:55, спустя 24 минуты 28 секунд

    phpdude, да ради Бога :) просто лишний парс джаваскриптом, например я не приветствую, у меня почти 1Мб уже сжатых скриптов на сайте, так что боюсь тормозилобы, используй я эту либу

Пожалуйста, авторизуйтесь, чтобы написать комментарий!