A mini intro to web components, starting from what you (presumable) already know and slowly adopting new vanilla web components features. After that, is shows how to accomplish the same using Polymer 2.0.
Intended to be instructor led.
A mini intro to web components, starting from what you (presumable) already know and slowly adopting new vanilla web components features. After that, is shows how to accomplish the same using Polymer 2.0.
Intended to be instructor led.
Javascript and jQuery for mobile
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013.
http://www.ivanomalavolta.com
Javascript and jQuery for mobile
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013.
http://www.ivanomalavolta.com
11. Modulární architektura
Jen 5 základních modulů
přes 30 modulů v default instalaci
volitelná jsou i menu, hledání, překlady,
komentáře, blogy, fórum, ...
12. Základní moduly
<font color=quot;uglyquot;>Lorem</font> http://ipsum.com a spousta jiných zajímavostí ...
filter
<p>Lorem <a href=quot;http://ipsum.comquot;>http://ipsum.com</a> a spousta jiných zajímavostí ...</p>
node
user
system
blocks
13. Další moduly
„Navěsí se“ na základ
Svá data si uloží do svých tabulek
Příklad: comment.module
Node table
nid user id title text
1 1 Hello world
2 1 Lorem Ipsum ...
3 1 Had leze z díry vystrkuje kníry
Comments table
nid id replies to user id title text
1 1 NULL 1 Windowsy? Určitě jo!
2 2 NULL 1 Sic amet del requiem
1 3 1 2 Jojo… Windows rulez
14. Hook = komunikace mezi moduly
Jááá comments.module
Renderujeme node,
chcete k němu něco
přidat?
taxonomy.module Jááá
Kdo implementuje
hook_node( … )?
vote.module
Moi aussi
Drupal core
taxonomy module hook_nodeapi($node...):
$node[“tags”][“content”] =
OK, pošleme vám
array( “tag1”, “tag2”);
objekt node...
$node[“tags”][“weight”] = 60;
Přidejte a uberte co
potřebujete //mezi telo a komentare
15. Důležité hooky
Oprávnění – hook_perm()
function mymodule_perm() {
return array( 'access mymodule',
'administer mymodule');
}
Přidej do tabulky ‘oprávnění’ tato dvě
16. Důležité hooky
Menu a routing – hook_menu() položky
Název
function mymodule_menu() {
v menu
$items['admin/settings/uploadcv/edit/%'] = array(
'title' => 'Edit consultant',
'page callback' => 'drupal_get_form',
'page arguments' => array('uploadcv_admin_edit', 3, 4),
'access arguments' => array('administer uploadcv'),
'type' => MENU_CALLBACK,
'parent' => 'admin/settings/uploadcv',
'file' => 'uploadcv.admin.inc',
);
}
Přidej se do menu/routovací tabulky
17. Důležité hookyfunkce jejíž výstup
kde 3 a 4 = 3. a 4.
se pošle uživateli
parametr z url
(počítáno routing – hook_menu()
Menu a od 0)
function mymodule_menu() {
$items['admin/settings/uploadcv/edit/%'] = array(
'title' => 'Edit consultant',
'page callback' => 'drupal_get_form',
'page arguments' => array('uploadcv_admin_edit', 3, 4),
'access arguments' => array('administer uploadcv'),
'type' => MENU_CALLBACK,
s těmito třemi
'parent' => 'admin/settings/uploadcv',
'file' => 'uploadcv.admin.inc',
parametry
);
}
Přidej se do menu/routovací user musí mít
tabulky
tato práva
18. Důležité hooky
Menu a routing – hook_menu() položka nebude v
menu
function mymodule_menu() {
$items['admin/settings/uploadcv/edit/%'] = array(
'title' => 'Edit consultant',
'page callback' => 'drupal_get_form',
'page arguments' => array('uploadcv_admin_edit', 3, 4),
'access arguments' => array('administer uploadcv'),
'type' => MENU_CALLBACK,
rodič položky
'parent' => 'admin/settings/uploadcv',
(povede na něj odkaz)
'file' => 'uploadcv.admin.inc',
);
}
Přidej se do menu/routovací tabulky
soubor který se pro
toto volání includuje
21. Forms API
function mymodule_agreement() {
return drupal_get_form('uploadcv_accept_form');
zpracuj formulář s
}
tímto názvem
function mymodule_agreement_form() {
//definice formuláře
}
function mymodule_agreement_validate($form_id, $form_values) {
if ( $form_values['values']['legal_accept‘]==0 ) {
form_set_error('legal_accept', t('You must accept to continue.'));
} //podmínky – s nastavenou chybou formulář nezvaliduje
}
function mymodule_agreement_submit($form_id, $form_values) {
drupal_set_message(t('Thank you for agreeing.'));
drupal_goto(“login/nextstepquot;);
} //funkce _submit proběhne jen když _validate nenajde chybu
30. Konverze HTML pro Drupal:
index.htm → themes/tema/page.tpl.php
metadata → themes/tema/tema.info
přidání <?php print $blok; ?>
případně <?php if ($blok) { ?>wrapper<?php } ?>
… a pár povinných formalit
31. Kdo ostyluje zbytek?
Modul poskytuje:
může změnit šablona
Datovou strukturu
Funkci pro převod datové struktury na HTML
(konvence – vše je obalené divy s jednoznačnou třídou)
CSS pro ostylování svého HTML