Efecte LightBox per la Galeria de serie de WordPress

Efecte LightBox per la Galeria de serie de WordPress

Bon dia!

Avui m’he posat a buscar Extensions per el meu WP, el que buscava concretament és que quan penjo una galeria, mitjançant la mediateca, al obrir cada imatge no s’obri un enllaç nou, que es vegi aquell bonic efecte de que la web és dinàmica i el contingut es veu enfosquint el fons de la web. Totes les extensions que he trobat fins ara feien això mitjançant shortcodes o creant les seves pròpies galeries alternatives. Dons avui he trobat el complement perfecte que no pot faltar a la vostre instal·lació de WordPress, el jQuery Lightbox For Native Galleries. També per les imatges normals i les galeries, tot i que està en fase BETA, Simple Lightbox

Aquesta extensió ens mostra perfectament i sense fer cap canvi, ni de codi ni d’entrades, les nostres imatges de la següent forma.

Aquí veiem les imatges dins l’entrada de galeria de 3 columnes
i al clickar les veiem així

Redirecció web i el famós 301

Bon dia!

Avui m’he posat a actualitzar els enllaços dels meus dominis que tenen redirecció cap al meu principal, www.pali.cat. Així que m’he decidit a fer una petit guia per que coneixeu quins tipus de redirecions web podem fer i quins son més bons que altres, parlant de nivells Servidor i Buscadors

Per realitzar això disposem de diferents opcions de pitjor a millor:

Opció A:
Posar una pàgina del estil index.htm que mostri un text explicant al usuari que la web està situada en el seguent enllaç, i posar-lo.

Opció B:
Posem en el codi META del nostre HTML

<head>
<meta http-equiv="refresh"
content="0;URL=http://www.novaurl.cat/">
<title>La web ha canviat de direcció </title>
</head>

D’aquesta forma la redirecció la fa a nivell de navegador, però pot no funcionar del tot be en alguns, a part de ser lenta.

Opció C:
Redirecció a nivell servidor. Col·loquem el seguent codi en PHP o ASP al servidor
PHP:

<?php
header("Location: http://www.novaurl.cat/");
?>

ASP:

<%
Response.Redirect("http://www.novaurl.cat")
%>

o amb més paràmetres:

<%
Response.Buffer=true
%><html>
<body>
Text de la pàgina
</body>
</html><%
Response.Clear
Response.Redirect("http://www.novaurl.cat")
%>

Opció D:
Redirecció 301
Aquesta és la opció més interessant, ja que a part de redirigir l’usuari cap al nou web, informem als robots que el contingut és al lloc web següent. D’aquesta forma els buscador actualitzen la seva base de dades amb la nova direcció d’aquest lloc, fent per tant que no perdem clientela ni llocs als buscadors.

<?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.novaurl.cat" );
?>

Opcio E:
Redireccó 301 amb ModRewrite
Si el nostre servidor te activada la funció podem fer el mateix editant el fitxer .htaccess

RewriteEngine On
RewriteRule .* http://www.novaurl.cat/ [R=301]

Opció F:
També amb .htaccess però més senzill sense ModRewrite

Redirect 301 / http://www.nuevaurl.com/

Podeu trobar més redireccions 301 al buscador, per cada llenguatge.

Salutacions 🙂

Corregir amplada automàtica d’imatges en Tema Polished de ElegantThemes

Corregir amplada automàtica d’imatges en Tema Polished de ElegantThemes

Al provar aquest tema, tenia certs problemes per poder corregir l’ample, de fet com que em manquen coneixements de CSS he anat tirant pals de cec fins que he trobat la solució.

El problema es que per defecte el tema Twentyten de WordPress ja corregeix l’ample automàticament, però en aquest tema personalitzat no esta la funció definida.

La funció que volem posar és :
max-width: 640px; height: auto;

El problema és on posar-lo. Dons anem al style.css i a la línia 283 o propers trobarem això

/*------------------------------------------------*/
/*------------[CAPTIONS AND ALIGNMENTS]-----------*/
/*------------------------------------------------*/

div.post .new-post .aligncenter, .aligncenter { display: block; margin-left: auto; margin-right: auto; }

Dons aquí hem de canviar per aquest altre codi

div.post .new-post .aligncenter, .aligncenter { max-width: 640px; height: auto; display: block; margin-left: auto; margin-right: auto; }

Ara canviem d’això
a això altre

Migració d’un WordPress d’un servidor a un altre

Be el procés en sí és fàcil. Copies el contingut del blog via FTP i fas un backup de la base de dades on esta el teu blog. Importes el contingut a l’altre servidor i llests.

Problemes:
– Les direccions de les imatges i media que tinguem s’importen d’allà directament, això vol dir que quan importem el .sql del backup del nostre blog trobarem que apunta al servidor antic.

Solució:
– Obrir el bloc de notes del vostre .sql i fer un replace, xapusser però funcional, canvies en el meu cas, palisandrogamez.com per pali.cat i pràcticament funciona tot
– de la mateixa manera amb els que usen ruta absoluta  del pal http/45/server/www/blog

Funció per enviar correus dins Access

Aquesta funció l’hem d’ubicar al Mòdul de Visual Basic, normalment “Modulo 1”. Això ens servirà per utilitzar-la en tots els formularis d’aquest arxiu d’Access. Posar la funció al mòdul equival a enganxar el codi a cada lloc on necessitem la funció, d’aquesta forma estalviem espai, mida i claredat visual.

En concret en el seu dia vaig fer, com sempre dic ajudant-me de sant Google, una funció per enviar correus rudimentària, però funcional  que és el que buscava 🙂

La funció és diu “SendMessages”

Function SendMessages(Dir As String, CC As String, Asunto As String, TextoMsg As String, Optional AttachmentPath, Optional AttachmentPath2)
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)

With OutMail
.To = Dir
.CC = CC
.BCC = ""
.Subject = Asunto
.Body = TextoMsg

'Es poden adjuntar arxius
If Not IsMissing(AttachmentPath) Then
.Attachments.Add (AttachmentPath)
End If
'Es poden adjuntar 2 adjunts
If Not IsMissing(AttachmentPath2) Then
.Attachments.Add (AttachmentPath2)
End If
.Send
'Coloca el correu a la Safata de sortida directament
'.Display mostra el correu en pantalla llest per enviar
End With

Set OutMail = Nothing
Set OutApp = Nothing

End Function

També es convenient que a la part superior del mòdul tinguem això

Option Compare Database
Option Explicit

Per acabar teniu un exemple pràctic en el següent post

Enviament personificat de correu mitjançant Access

Enviament personificat de correu mitjançant Access

Com el seu títol indica, aquesta funció serveix per generar un correu per cada registre de la nostra base de dades personificat amb alguna de les dades de la nostra base de dades, un assumpte, missatge i adjunt comú.

Partint de la base tenim:
– Base de dades –> Taula: PreclientesIdentifica
– Consulta : ConsultaIdentifica
– Formulari amb un boto el qual te nom intern (per el programa, no el que es mostra)  EnviarCorreu2
I Outlook amb el compte en el que vulguem enviar el primer de la llista (no sé el perquè però es posen a la Safata de sortida del PRIMER correu configurat, dona igual que no sigui el predeterminat)

En marxa!
Click dreta sobre el botó –> “Generar Evento…” –> “Generador de código” i ens obrirà això

Private Sub EnviarCorreu2_Click()

End Sub

Dins d’això enganxarem el següent codi

On Error GoTo Err_EnviarCorreu2_Click

Dim BD As Database
Dim NovaQRY As QueryDef
Dim RegistresTemporals As DAO.Recordset
Dim CadenaSQL As String
Dim Correu As String
Dim Nom As String
Dim Fitxa As String

Dim identificador As Long
Set BD = CurrentDb

CadenaSQL = "SELECT * FROM PreclientesIdentifica"
'Selecciona tot (*) de la TAULA PreclientesIdentifica
Set RegistresTemporals = CurrentDb.OpenRecordset(CadenaSQL, dbOpenDynaset)
'obre un registre temporal (Recordset)
If RegistresTemporals.EOF = False Then
'La funció EOF (end of) retorna un valor Boleà que indica si està al final del
'temporal de registres. Existeix tambe la BOF (beginning of) que indica si està
'just al principi del registre

RegistresTemporals.MoveLast
RegistresTemporals.MoveFirst

Do Until RegistresTemporals.EOF
BD.QueryDefs.Delete ("ConsultaIdentifica")
'Borra el temporal de la consulta

identificador = RegistresTemporals!NUM_FICHA
Set NovaQRY = BD.CreateQueryDef("ConsultaIdentifica", _
         "SELECT * FROM PreclientesIdentifica WHERE PreclientesIdentifica.NUM_FICHA = " & identificador)
'Crea temporal consulta de la taula PreclientesIdentifica i
'relaciona el NUM_FICHA amb el nº de registre de la taula

Correu = RegistresTemporals!E_MAILS
'Li diu que el "Correu" que es un String es igual al RecordSet columna Email

Nom = RegistresTemporals!ENTIDAD
'Li diu que el "Nombre" que es un String es igual al RecordSet columna Nombre

Fitxa = RegistresTemporals!NUM_FICHA
'Li diu que el "Ficha" que es un String es igual al RecordSet columna Ficha

SendMessages Correu, "", "Carnestoltes Planning 2012 - " & Fitxa & " " & Nom, _
"Amics," & Chr(13) & Chr(13) & "Us adjuntem un seguit d'espectacles, activitats i serveis que podrien ser adients per les vostres festes i programacions. Naturalment, sols es una petita part dels continguts de la nostra base de dades." & Chr(13) & "Si ens doneu dates i el vostre criteri de programació us enviarem un seguit de propostes amb els millors preus que puguem aconseguir." & Chr(13) & "No dubteu en trucar-nos per telèfon de 9 a 15 h. i de 16 a 20 h." & Chr(13) & Chr(13) & "Cordialment," & Chr(13) & "Mar Torres" & Chr(13) & Chr(13) & "Planning General d'Espectacles" & Chr(13) & "Tordera, 5    08012 - Barcelona" & Chr(13) & "Tel. 93-284 80 80  Fax 93-284 59 35" & Chr(13) & "E-mail: gestio@planning.cat", _
"C:BOOK PLANNING2012 ESPECTACLES I PREUS.pdf"
'La funció SendMessages la tenim al "Modulo 1" 

RegistresTemporals.MoveNext
'Si tot ha anat be ens movem al seguent registre
Loop
'Fes-ho fins que acabi la llista
End If
BD.Close
RegistresTemporals.Close
'Tanquem els temporals

Exit_EnviarCorreu2_Click:
    Exit Sub

Err_EnviarCorreu2_Click:
    MsgBox Err.Description
    Resume Exit_EnviarCorreu2_Click

Com podeu veure, poso l’explicació de cada cosa, segons el que tinc entès jo clar.., i amb les funcions sense abreviar, per estalviar pes (bytes) normalment en lloc de Recordset posem rst, això ja va a gust del programador per entendre’t desprès.

La funció SendMessages està explicada en aquest post.

El resultat és aquest: