http://xandeadx.ru/blog/drupal/546
admin/config/content/node_export
вторник, 20 августа 2013 г.
четверг, 15 августа 2013 г.
jQuery Download Plugin
http://stackoverflow.com/a/14717637/2564525
The answer mentioning "jQuery Plugin for Requesting Ajax-like File Downloads" got me headed down the right direction, but it didn't work entirely for my situation since I have a complex object and array of objects to pass in as my search criteria/filter data. I figured I'd share my code in case someone else runs into this situation too.
$.download = function (url, data, method) {
if (url && data) {
//convert the data object into input HTML fields
var inputs = '';
var convertToInput = function (key, keyStr, obj) {
if (typeof obj === 'undefined') {
return;
} else if (typeof obj === "object") {
for (var innerKey in obj) {
if (obj.hasOwnProperty(innerKey)) {
var innerKeyStr = '';
if (keyStr === '') {
innerKeyStr = innerKey.toString();
} else {
innerKeyStr = keyStr + "[" + innerKey.toString() + "]";
}
convertToInput(innerKey, innerKeyStr, obj[innerKey]);
}
}
return;
} else if ($.isArray(obj)) {
obj.forEach(function (item) {
convertToInput(key, keyStr + "[]", item);
});
return;
}
inputs += "";
};
convertToInput(null, '', data);
//send request
jQuery('
+ url + '" method="' + (method || 'post') + '">' + inputs + '
').appendTo('body').submit().remove();
};
};
$.download('/api/search?format=csv', searchData, 'POST');
It probably doesn't make much of a difference, but to provide some context, I've got a javascript and knockout UI calling into WebAPI, MVC4, and nHibernate. The 'format=csv' part of the query string triggers a MediaTypeFormatter to convert the returned models into a CSV file type. If I leave that off, then I get the models back from the API and can populate a Slick grid for display.
вторник, 6 августа 2013 г.
Drupal Questions
Для тех, кто не имеет опыта с web и drupal:
Environment:
- Установить Linux. Это может быть Ubuntu, Debian, OpenSUSE, Fedora, Linux Mint. Мы используем Ubuntu.
- Установить AMP stack (Apache, PHP 5.3, MySQL, phpmyadmin)
- NetBeans 7
Drupal:
- Установить Drupal 7 (не из пакетов, a c drupal.org)
- Плюсом будет знание о drush и умение его использовать.
Разобраться c темами :
- Ноды (node)
- Система хуков (hooks)
- Система теминга (theme)
- Блоки (blocks)
- Drupal coding standarts http://drupal.org/coding-standards
- Таксономия (taxonomy)
- Уметь создавать тип материала, добавлять ему поля разных типов.
- Создавать несколько нод этого типа.
- Добавлять к ним комментарии.
Познакомится с модулями:
1. http://drupal.org/project/views
Вывести список нод этого материала, отсортированных по количеству комментариев.
Вывести список нод этого материала, отсортированных по количеству комментариев.
2. http://drupal.org/project/panels
Вывести на панели рядом два списка с сортировкой по комментариям в разных направлениях. Попробовать разобраться с ctools плагинами для панелей.
Вывести на панели рядом два списка с сортировкой по комментариям в разных направлениях. Попробовать разобраться с ctools плагинами для панелей.
3. http://drupal.org/project/admin_menu
Установить, разобраться зачем он нужен.
Установить, разобраться зачем он нужен.
Лучшие учебные пособия - drupal.org, php.net
Для опытных:
Как работает веб:
- AMP стек, объяснить как работает с момента ввода адреса сайта, до момента полной прогрузки страницы.
- Протокол HTTP, Методы Post и Get
Основные вопросы по Drupal
Hook.
- Что такое хук, зачем нужны и как используются?
- Список наиболее популярные хуков (hook_menu, hook_theme, hook_form_alter, hook_nodeapi, hook_user …)
- Как создать свой хук?
- hook_theme, для чего используется? Как его можно использовать? Куда ложить файлы шаблонов? Как именовать препроцессы?
- hook_menu, как создать свой меню итем? Основные правила при создании меню итема. Когда нужно выносить коллбэк в отдельный файл. Какие типы меню итемов бывают?
- hook_views_* - основные хуки, как и для чего используются?
- hook_schema - что такое, зачем нужен, пример
- hook_update - правила написания, как работает
- hook_install, hook_uninstall - зачем использовать, примеры
- menu в drupal, как это работает?
Coding standards.
- Правила именования модулей, функций, файлов модулей.
- Drupal coding standards, основные моменты
- db_query(), db_select() и другие функции для работы с БД, основные правила.
- Когда нужно создавать свой модуль?
Forms.
- Как создать форму?
- Как отрисовать форму программно?
- Как изменить чужую форму?
- Типы элементов, основные свойства.
- Теминг формы
- validate, submit, after_build, pre_render формы.
- System settings forms
- AHAH. Что такое, как использовать?
Content
- Content-type - что такое? как создать? основные правила создания
- Fields - типы полей, правило именования
- Build mode - что такое и как это использовать?
- Как друпал хранит поля в базе
Views.
- Зачем нужен? Примеры использования
- Типы дисплеев, типы шаблоны, стили.
- Что такое relationship во вьюхе? Как это работает?
- Аргументы, как это использовать?
Panels.
- Что это панель, регион, вариант, пэйн?
- Стандартные панели. Что такое selection rules?
- Panels everywhere - для каких целей и как использовать?
Ctools plugins.
- Content-type - что такое и когда стоит использовать? Отличие от блоков.
- Style - что такое, для чего применяется?
- Context - что такое, для чего применяется?
- Access - что такое, для чего применяется?
- Layout - что такое? как создать свой лэйаут?
Token.
- Что такое токен и для чего используются, примеры?
- Как создать свой собственный токен?
Image.
- Основные image style экшены (Scale, Resize, Scale & Crop, Canvas, Overlay)
- Как программно отрисовать картинку без презета/с презетом?
- Как работает модуль image?
Input format.
- Plain text, Filtered text - отличие, когда что нужно использовать?
- Input format - для чего нужны? Примеры.
Features.
- Для чего нужен? Примеры использования.
JS, CSS, JSS
- Способы подключения собственного JS
- Что такое Drupal.settings? Примеры использования.
- Behavior, что такое и зачем использовать?
- Основные стандарты кодинга в JS
Cache
- drupal_static(), cache_set(), cache_get().
- Что такое memcache? Зачем и как использовать?
- Boost, что такое, как работает? Когда надо использовать?
Apachesolr
- Что такое, как настроить?
- Как добавить/исключить контент-тайпы/поля из индексации
- Как затемить вывод результатов?
- Фасеты, что это такое
Подписаться на:
Сообщения (Atom)