xslt, js, jquery,extjs, codeigniter

  1. Мобильная верстка

    Верстка под мобильные устройства. Ссылки по теме.
  2. Opera must die!

    Вообще-то с момента выхода 10-11 версии я про этого урода в семействе броузеров давно забыл. Багов не было. И тут на тебе. Не баг. Хуже!
  3. Кроссброузерные куки LSO

    Подборка ссылок. Решение не лучшее, к тому же основанное на Flash.
  4. Встреча с мэтрами

    Получил макет от самизнаетекого и ох..ел
    • Бан по TimeZone

      Рекомендации фильтрации юзеров по временной зоне пишут крутые юниксоиды. Обычные российские юзеры эту фигню не выставляют. Исключение - жители мск, спб и еще 4-5 городов России
      • Ajax Suggest в ExtJS Combobox - выборка по строке с автозавершением в стиле google-поиска

        Кажется автозавершение в поиске google было первым массовым Ajax-приложением. Прием называется везде по разному. В документации по ExtJS это называется Live Search. Правда без комментариев понять сложно, а в документации можно утонуть. Хотя реально превращение SELECT´а в input с автозагрузкой и подсказкой оказалось делом простым и нехитрым
      • Шаг 7. ExtJS большое приложение. Финал. Подчистка мусора.

        Здесь наращиваю функционал, чищу и привожу в порядок, пока без выкладывания наружу.
      • Как передать объект (массив) на сервер через Ext.Ajax.request? Через жопу!

        Удивляет не первый раз. При всей навороченности библиотеки, какие-то мелкие вещи сделать в лоб невозможно и приходится искать обходные пути. На Я затратил два часа чтобы понять, что передача объектов через Ext.Ajax.request напрямую невозможна.
      • Шаг 6. Дополняю сетку CommonGrid поиском и возможностью добавить новую запись

        На этом шаге я дополняю табличку списка объектов CommonGrid фильтром записей, оставляю задел для групповых операций с записями и возможностью добавить новую запись. На этом цикл «Ext JS "Большое приложение"» можно было бы считать закрытым, потому что весь необходимый функционал для решения большинства задач сделан. Но я хотел уложиться в семь (счастливое число) или восемь (круглая цифра) шагов и поэтому этот шаг будет не самым последним. Продолжение все же последует. Позже. Когда все причешу и приглажу.
      • Шаг 5. Детализация - просмотрщик записей таблицы в отдельных вкладках

        На этом шаге особо важного ничего нет. Здесь я просто создаю новый компонент на базе CommonGrid - таблицы для просмотра записей и CommonTab. Поскольку в таблицу все данные не уместить, да и не надо, нужно иметь какой-то просмотрщик записи и лучше это делать в закладках. просмотрщик - это отдельный класс, который будет подгружаться динамически для каждого типа данных. По-большому счету это может быть вообще сколь угодно сложный компонент с редакторами, закладками и прочими навесками, но здеся я ограничусь только двумя типами - с Ajax-подгрузкой готовой страницы и с json-данными, которые при получении с сервера будут преобразованы через ExtJS - шаблонизатор, который мне очень не нравится.
      • Шаг 4. Шаблон проектирования Observer (Обозреватель) для «большого» приложения ExtJS

        На предыдущем шаге я обнаружил, что закономерно пришел в тупик. Закономерность заключается в том, что "большое" приложение - это не набор не связанных между собой и надерганных по помойкам jquery-плагинов, а нечто большее. Другими словами получилась иллюстрация к закону перехода количества в качество, сформулированного то ли Гегелем, то ли Марксом, я уже забыл. И чтобы ползти дальше придется вспомнить про шаблон проектирования Обозреватель (Observer).
      • Шаг 3.  Добавляем функциональность таблицы — delete,edit

        На этом шаге я добавлю функциональность в класс таблицы CommonGrid, которая позволит удалять и редактировать записи. А в конце прихожу к выводу, что получился говнокод и необходимо срочно исправлять ситуацию уже на следующем шаге.
      • Шаг 2. Первое «большое» приложение на ExtJS

        Каркас — это viewport разделенный пополам. В левой части — навигация в виде дерева объектов, в правой — панель табуляции для работы со списком объектов, соответствующих узлу дерева объектов. Больше здесь ничего нет. Потом я соединю этот и предыдущий шаг и получу первое «большое приложение».
      • Шаг 1. Зарождение собственного компонента в ExtJS

        Для начала нужно разобраться с классами на примере простой таблицы. Потом на этом месте вырастет большой компонент, который включает в себя табличку с фильтрами для поиска и сортировки, меню групповых команд, редактор и просмотрщик. Но это будет потом. Сейчас оттолкнусь от того что было раньше.
      • Большое приложение на Ext JS. Прелюдия

        В предыдущей, оставшейся неопубликованой полностью, я занимался отдельными стандартными компонентами и привыкал к странным глюкам и фичам мегабиблиотеки ExtJS. Теперь пришло время заняться большими приложениями. Собственно большого приложения здесь не будет, здесь будет нечто большее — каркас для очень-очень большого приложения типа CRM или чудовищных размеров бэкофиса CMS, типа того что сделано в ModX на радость всем юзерам этой системы
      • «CodeIgniter-блог за семь шагов» семь лет спустя.

        Записки «CodeIgniter Шаг за Шагом» были написаны много лет назад, когда в рунете практически не было никакой информации о CI. К удивлению для меня они до сих пор не потеряли актуальность. Судя по статистике до сих пор находятся люди, которым нужны примеры для CodeIgniter. Почему к удивлению? Потому что в 2007 году CodeIgniter был наилучшей платформой для изучения php-фреймворков и в частности MVC-шаблона. Но сейчас, когда я пишу этот текст уже 2012 год. И имхо смотреть в строну CodeIgniter´а не самая лучшая затея. Почему?
      • Сравнение MainLink и Sape. Две биржи на одном сайте.

        Результаты продажи ссылок на СДЛ (сайте сделанном для людей) в течение двух месяцев. Использовались две биржи — MainLink и Sape. Вывод первый — Mainlink — унылое г..но, вывод второй — выгоднее размещать все на одной Sape
      • ExtJS + CodeIgniter Example of desktop

        Простое приложение на базе ExtJS + CodeIgniter. Desktop + управление пользователями. Как ни страно но работает сразу после запуска.
      • ExtJS: собственные классы, xtype и ленивая инициализация

        Создание собственного класса, ленивая инициализация через xtype. В черновиках. Отсчет с древней статьи «20 правил, которым стоит следовать, когда начинаете работать с EXT JS & Sencha Touch»
      • IE Conditional Comments in XSLT

        Еще одно решение, позволяющее воткнуть в условные комментарии ie переменные.
      • HTML5 валидатор

        Первый сайт в HTML5. Не зря воздерживался. Так привык к нормальной валидации страниц, что плохо понимаю как можно обойтись без нее. Для HTML5 вменяемого валидатора не нашлось.
      • Проблема с отладкой скриптов с автозагрузкой в ExtJS

        Начал смотреть MVC. Работает автозагрузка. Непонятно зачем ExtJS генерирует адрес каждого скрипта с префиксом типа ?dc_5674567 После этого отлаживаться практически невозможно. И что делать?
      • Ext JS 4 MVC

        Тестовый пример MVC работал только с ext.js и отказывался работать с ext-all. На javascript.ru написано про это но как решить проблему непонятно. Буржуйнет подсказал в чем проблема. В ext-all.js автолоадер зачем-то по умолчанию задизаблен. Зачем?
      • 15. События в ExtJS (немного об ООП)

        Все события в ExtJS можно разделить на два типа. Первый — события DOM. С ними все прозрачно — для них существует отдельный метод типа jQuery.bind. Второй тип событий — собственные события ExtJS. Здесь рассматривается совсем чуть-чуть для затравки.
      • 13. Шаблоны в ExtJS

        Мода на изобретение самых лучших, самых быстрых, самых понятных, самых самы и отличных от всех других шаблонизаторов, процветающая среди php-программистов плавно переползла в Python и Ruby, и 2-3 года назад в JavaScript. Я думаю, в скором будущем в JS следует ожидать портирования Smarty, Quicky,FastTemplate, TAL… и базаров, какой шаблонизатор лучше. Это грустно. Особенно грустно потому что более пяти лет мне практически не приходилось иметь дело с шаблонизаторами отличными от XSLT. Поэтому код который написан в этом примере у меня вызывает неудержимое чувство отвращения.
Страницы:  « 1 2 3 4 5 » 
Go Index Test