SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Plone e JQuery
                 ao gosto do Cliente




@cleberjsantos
@Tamosauskas
Cadê todo o KSS que estava aqui?
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();
Usando o JQuery Nativo do Plone

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

  •    Exemplo: Tooltip


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

  •    Lista Ordenada


       class="listing"
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>');
 });
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();
               }
             );
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>*',
         });
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>");
       });

     });
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>");
            });

    });
Obrigado

Más contenido relacionado

La actualidad más candente (6)

Jquery a technical overview
Jquery a technical overviewJquery a technical overview
Jquery a technical overview
 
Javascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQueryJavascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQuery
 
JavaScript: prototipação, closure e encapsulamento
JavaScript: prototipação, closure e encapsulamentoJavaScript: prototipação, closure e encapsulamento
JavaScript: prototipação, closure e encapsulamento
 
J query javascript para seres humanos
J query   javascript para seres humanosJ query   javascript para seres humanos
J query javascript para seres humanos
 
Minicurso de jQuery
Minicurso de jQueryMinicurso de jQuery
Minicurso de jQuery
 
Escrevendo plugins JQuery
Escrevendo plugins JQueryEscrevendo plugins JQuery
Escrevendo plugins JQuery
 

Similar a Plone e JQuery ao gosto do Cliente

Desevolvimento Web Client-side - jQuery
Desevolvimento Web Client-side - jQueryDesevolvimento Web Client-side - jQuery
Desevolvimento Web Client-side - jQuery
Guilherme
 

Similar a Plone e JQuery ao gosto do Cliente (20)

Java script aula 09 - JQuery
Java script   aula 09 - JQueryJava script   aula 09 - JQuery
Java script aula 09 - JQuery
 
Java script aula 07 - j-query
Java script   aula 07 - j-queryJava script   aula 07 - j-query
Java script aula 07 - j-query
 
jQuery básico (parte 3)
jQuery básico (parte 3)jQuery básico (parte 3)
jQuery básico (parte 3)
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdf
 
Introdução ao JQuery e AJAX
Introdução ao JQuery e AJAXIntrodução ao JQuery e AJAX
Introdução ao JQuery e AJAX
 
Javascript + jQuery
Javascript + jQueryJavascript + jQuery
Javascript + jQuery
 
jQuery
jQueryjQuery
jQuery
 
jQuery
jQueryjQuery
jQuery
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.js
 
Desvendando as ferramentas e serviços para o desenvolvedor Android
Desvendando as ferramentas e serviços para o desenvolvedor AndroidDesvendando as ferramentas e serviços para o desenvolvedor Android
Desvendando as ferramentas e serviços para o desenvolvedor Android
 
Hooks, o condimento mágico e escondido do WordPress
Hooks, o condimento mágico e escondido do WordPressHooks, o condimento mágico e escondido do WordPress
Hooks, o condimento mágico e escondido do WordPress
 
Programação Web com jQuery
Programação Web com jQueryProgramação Web com jQuery
Programação Web com jQuery
 
React js
React js React js
React js
 
Minicurso javascript
Minicurso javascriptMinicurso javascript
Minicurso javascript
 
Como criar Custom Tags
Como criar Custom TagsComo criar Custom Tags
Como criar Custom Tags
 
Beagajs
BeagajsBeagajs
Beagajs
 
Programação Web com jQuery
Programação Web com jQueryProgramação Web com jQuery
Programação Web com jQuery
 
jQuery na Prática - Cauê Fajoli
jQuery na Prática - Cauê FajolijQuery na Prática - Cauê Fajoli
jQuery na Prática - Cauê Fajoli
 
Desevolvimento Web Client-side - jQuery
Desevolvimento Web Client-side - jQueryDesevolvimento Web Client-side - jQuery
Desevolvimento Web Client-side - jQuery
 
Dinamizando Sites Estáticos
Dinamizando Sites EstáticosDinamizando Sites Estáticos
Dinamizando Sites Estáticos
 

Más de Simples Consultoria

PloneGov.Br: Cadê o .br que estava aqui?
PloneGov.Br: Cadê o .br que estava aqui?PloneGov.Br: Cadê o .br que estava aqui?
PloneGov.Br: Cadê o .br que estava aqui?
Simples Consultoria
 

Más de Simples Consultoria (20)

Diazo para todos
Diazo para todosDiazo para todos
Diazo para todos
 
Plone: Funcionalidades que todo gestor de conteúdo Plone deveria saber
Plone: Funcionalidades que todo gestor de conteúdo Plone deveria saberPlone: Funcionalidades que todo gestor de conteúdo Plone deveria saber
Plone: Funcionalidades que todo gestor de conteúdo Plone deveria saber
 
PloneGov.Br: Cadê o .br que estava aqui?
PloneGov.Br: Cadê o .br que estava aqui?PloneGov.Br: Cadê o .br que estava aqui?
PloneGov.Br: Cadê o .br que estava aqui?
 
V de Vinagre: A história por trás da história do momento que mudou o Brasil
V de Vinagre: A história por trás da história do momento que mudou o BrasilV de Vinagre: A história por trás da história do momento que mudou o Brasil
V de Vinagre: A história por trás da história do momento que mudou o Brasil
 
Collective.cover: one year later
Collective.cover: one year laterCollective.cover: one year later
Collective.cover: one year later
 
Plone 5: Você ainda vai ter um!
Plone 5: Você ainda vai ter um!Plone 5: Você ainda vai ter um!
Plone 5: Você ainda vai ter um!
 
Primeiros passos com Plone, o CMS Pythonico
Primeiros passos com Plone, o CMS PythonicoPrimeiros passos com Plone, o CMS Pythonico
Primeiros passos com Plone, o CMS Pythonico
 
Python como primeira linguagem de programação
Python como primeira linguagem de programaçãoPython como primeira linguagem de programação
Python como primeira linguagem de programação
 
O Estado do Plone - FISL 14
O Estado do Plone - FISL 14O Estado do Plone - FISL 14
O Estado do Plone - FISL 14
 
O Futuro do Plone (RuPy-Br)
O Futuro do Plone (RuPy-Br)O Futuro do Plone (RuPy-Br)
O Futuro do Plone (RuPy-Br)
 
O Futuro do Plone (PythonBrasil[8])
O Futuro do Plone (PythonBrasil[8])O Futuro do Plone (PythonBrasil[8])
O Futuro do Plone (PythonBrasil[8])
 
Lenguaje, framework, comunidad y cuenta bancaria: De teoría hasta la práctica
Lenguaje, framework,  comunidad y cuenta bancaria: De teoría hasta la prácticaLenguaje, framework,  comunidad y cuenta bancaria: De teoría hasta la práctica
Lenguaje, framework, comunidad y cuenta bancaria: De teoría hasta la práctica
 
Cómo Brasil está construyendo una nación digital con código abierto y Python
Cómo Brasil está construyendo una nación digital con código abierto y PythonCómo Brasil está construyendo una nación digital con código abierto y Python
Cómo Brasil está construyendo una nación digital con código abierto y Python
 
Gestión de Contenido con Plone
Gestión de Contenido con PloneGestión de Contenido con Plone
Gestión de Contenido con Plone
 
Plone.gov.br: Or how to leverage Plone in the Brazilian Government
Plone.gov.br: Or how to leverage Plone in the Brazilian GovernmentPlone.gov.br: Or how to leverage Plone in the Brazilian Government
Plone.gov.br: Or how to leverage Plone in the Brazilian Government
 
Collective Cover
Collective CoverCollective Cover
Collective Cover
 
O Futuro do Plone
O Futuro do PloneO Futuro do Plone
O Futuro do Plone
 
Criando Temas com Diazo
Criando Temas com DiazoCriando Temas com Diazo
Criando Temas com Diazo
 
Criando temas para Joomla, Wordpress, Drupal e tudo mais sem tocar em templa...
Criando temas para Joomla, Wordpress, Drupal e tudo mais  sem tocar em templa...Criando temas para Joomla, Wordpress, Drupal e tudo mais  sem tocar em templa...
Criando temas para Joomla, Wordpress, Drupal e tudo mais sem tocar em templa...
 
O Futuro do Plone
O Futuro do PloneO Futuro do Plone
O Futuro do Plone
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Último (6)

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Plone e JQuery ao gosto do Cliente

  • 1. Plone e JQuery ao gosto do Cliente @cleberjsantos @Tamosauskas
  • 2. Cadê todo o KSS que estava aqui?
  • 3. 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();
  • 4. Usando o JQuery Nativo do Plone • Podemos usar algumas funções que o plone já possui. • Exemplo: Tooltip jq("#edit-bar *[title]").tooltip(); • Lista Ordenada class="listing"
  • 5. 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>'); });
  • 6. 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(); } );
  • 7. 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>*', });
  • 8. 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>"); }); });
  • 9. 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>"); }); });