plone e jquery ao gosto do cliente

10

Click here to load reader

Upload: simples-consultoria

Post on 19-May-2015

3.790 views

Category:

Technology


0 download

DESCRIPTION

Exemplo práticos de como melhorar a interface do seu site feito em Plone usando diversos recursos de JQuery. Mais do que apenas usar plugins, a palestra mostrará uma visão geral sobre como usar os recursos que o Plone já possui e além disso como integrar os métodos e atributos dos objetos do Zope em seus scripts

TRANSCRIPT

Page 1: Plone e JQuery ao gosto do Cliente

Plone e JQueryao gosto do Cliente

@cleberjsantos @Tamosauskas

Page 2: Plone e JQuery ao gosto do Cliente

Cadê todo o KSS que estava aqui?

Page 3: Plone e JQuery ao gosto do Cliente

Vernis em vez de Cutelo

• Com JQuery podemos poupar alterações nos templates

• Exemplo: Lightbox

jq(".template-atct_album_view .photoAlbumEntry:not(.photoAlbumFolder) a").each(function(){ var url = jq(this).attr('href'); url = url.replace(/\/view/, "/image_large"); jq(this).wrap('<a class="lightbox" href="'+ url + '"></a>'); });

jq('.lightbox').lightBox();

Page 4: Plone e JQuery ao gosto do Cliente

Usando o JQuery Nativo do Plone

• Podemos usar algumas funções que o plone já possui.

• Exemplo: Tooltip

• Lista Ordenada

jq("#edit-bar *[title]").tooltip();

class="listing"

Page 5: Plone e JQuery ao gosto do Cliente

Tratando Conteúdo

• Podemo usar Jquery para tratar o conteúdo do Plone.

• Exemplo: Youtuber

jq('#content a[href*="youtube.com"]').each(function(){ var ytvar = jq(this).attr('href'); var ytvar = ytvar.split('http://www.youtube.com/watch?v='); jq(this).html('<iframe width="425" height="349" src="http://www.youtube.com/embed/' + ytvar[1] + '" frameborder="0" allowfullscreen><' + '/iframe>');});

Page 6: Plone e JQuery ao gosto do Cliente

Conteúdo sem Refresh

• Podemos trazer conteúdo do Plone sem recarregar a página.

• Exemplos: Load

jq(".documentAuthor a").hover( function () { var url = jq(this).attr('href'); var seletor = ".portraitPhoto"; jq(this).after('<div id=perfil />'); jq('#perfil').load(url + " " + seletor); }, function () { jq('#perfil').remove(); });

Page 7: Plone e JQuery ao gosto do Cliente

Conteúdo sem Refresh

• Podemos trazer conteúdo do Plone sem recarregar a página.

• Exemplos: Overlay

jq('#siteaction-sitemap a').prepOverlay({ subtype: 'ajax', filter: '#content>*',});

Page 8: Plone e JQuery ao gosto do Cliente

Usando atributos de um Objeto do Zope

• Podemos usar os atributos dos objetos em nosso Jquery.

• Exemplo: Link dinâmico em Notícias

jq(".template-newsitem_view #content").each(function(){ jq(this).after('<div id="more" />'); var urltitulo = document.location.href + '/Title'; jq.get(urltitulo, function(Titulo){ jq('#more').html("<a href=search?SearchableText=" + Titulo + " >" + "More about " + Titulo + "</a>"); });

});

Page 9: Plone e JQuery ao gosto do Cliente

Usando atributos de vários Objetos do Zope

Podemos usar os atributos de vários objetos em nosso Jquery.

• Exemplo: Créditos de Imagens

jq("#parent-fieldname-text p img").each(function(){ var urlcreditos = jq(this).attr('src') + "/Rights"; var objeto = jq(this);

jq.get(urlcreditos, function(creditos){ objeto.before("<div class='credito'>Crédito: " + creditos + "</div>"); });

});

Page 10: Plone e JQuery ao gosto do Cliente

Obrigado