miércoles, 29 de diciembre de 2010

Filled Under: , ,

Enlace para post aleatorio en entradas – Habitaciones

Esto me lo preguntó hace ya unos días nEjO y el asunto se quedó traspapelado entre mis marcadores, así que ese es el motivo por el que no lo he publicado antes: sorry.

Se trata de hacer lo mismo que podeis ver actualmente al final de cada anotación de este blog, dónde se os invita a ver otro post cualquiera mediante un enlace que lleva a un post al azar. Realmente la cosa essensilla, sensilla, sobre todo si ya tenemos elscript para posts aleatorios instalado en cualquier otro sitio. Pero como nos gusta explicar las cosas, desarrollaremos un poco el porqué hay que hacerlo como se hace.

Pero vamos por el principio por si no teneis instalado este script. Lo primero es ir aDiseño ► Elementos de Página y allí buscar el lugar dónde queremos añadir el enlace que nos llevará a una entrada al azar. Pinchamos enAñadir un gadget y escogemos uno tipoHTML/JavaScript. En la ventana emergente pegamos lo siguiente:

div id="myLuckyPost"/div
script type='text/javascript'
function showLucky(root){
var feed = root.feed;
var entries = feed.entry || [];
var entry = feed.entry[0];
for (var j = 0; j entry.link.length; ++j) {
if (entry.link[j].rel == "alternate") {
window.location = entry.link[j].href;
}
}
}
function fetchLuck(luck){
script = document.createElement('script');
script.src = '/feeds/posts/summary?start-index='+luck+'&max-results=1&alt=json-in-script&callback=showLucky';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
}
function readLucky(root){
var feed = root.feed;
var total = parseInt(feed.openSearch$totalResults.$t,10);
var luckyNumber = Math.floor(Math.random()*total);
luckyNumber++;
fetchLuck(luckyNumber);
}
function feelingLucky(){
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = '/feeds/posts/summary?max-results=0&alt=json-in-script&callback=readLucky';
document.getElementsByTagName('head')[0].appendChild(script);
}
/script

a href="#random" onclick="feelingLucky()" title="Entrada al azar"Entrada al azar/a

No tenemosVista Previa, así queGuardamos y comprobamos que todo va bien. Ya tenemos nuestro enlace operativo (en un menú, debajo de la cabecera, en la barra lateral...).

La mayor parte del código (en realidad todo menos lo marcado en otro color) es el script que mediante cuatro pequeñas rutinas (funciones), lee nuestro feed, escoge de manera aleatoria una de nuestras entradas y nos lleva a ella. La última línea (repito, en otro color), lo único que hace es crear un enlace que al pincharlo (onclick)llama a la función principal y ejecuta todo lo anterior.

Entonces, para colocar el enlace en otro sitio distinto, sólo tendríamos que cortar esa última línea y ponerla en otro lado. El resto del código se puede quedar en el gadget dónde lo hayamos metido sin ningún problema. Podeis comprobar que si cortamos lallamada (última línea) y no la ponemos en ningún sitio, simplemente no se verá nada. El script seguirá en su sitio y dispuesto para ser utilizado, pero al no existir nada que le ordene comenzar, permanecerá inactivo. Es decir, se leerá, pero no se ejecutará.

Bueno y ahora que tenemos el script por un sitio y la llamada por otro (copiada en vuestro portapapeles, supongo; si no es así, la copiais de nuevo del trozo de antes) sólo tenemos que colocarla en la entrada.

Y esto es sólo una manera de hablar, porque realmente no la pondremos en la entrada. Blogger guarda lo que nosotros redactamos en cada anotación, en una variable que encontrareis en vuestra plantilla comodata:post.body/ y dicha variable no es manipulable por nosotros a posteriori desde otro sitio distinto del propio editor. Así que lo que haremos será poner nuestro código en la plantilla, justo después de esa variable, para tenga una continuidad yparezca que es parte de la entrada.

Así que ya estaiseditando HTML conPlantillas de artilugios expandidas y buscando (CTRL+F siempre ayuda a ello) la variable mencionada. Justo después pegamos lo que antes habíamos cortado.


pVemos a href='#ramdom' onclick='feelingLucky();' title='Entrada al azar'otro post cualquiera/apor si le encontraras alguna utilidad?/p

¡Voila!

Podemos cambiar el texto que forma el enlace y el que está fuera de este por el que queramos. Sería la parte marcada en verde. Cada cual que lo haga a su estilo ▼

ONLINE MOTOR INSURANCE QUOTES Donate Cars in MA WordPress hosting Register Free Domains Car Accident Lawyers Online Motor Insurance Quotes low credit line credit cards Business VOIP Solutions utah mesothelioma lawyer structured settlement cash out mesotheliama Hire php developer mesothelioma personal injury lawyers Paperport promotional code mesothelioma care anti spam exchange server Online casino Php programmers Hard drive data recovery services Criminal lawyer world trade center footage phd in counseling education mesothelioma lawyer chicago forensics online course st louis mesothelioma attorney domain name yahoo anti spam appliance mesothelioma lawyer texas semi truck accident lawyers How to donate a car in California mesothelioma suit ashely madis philadelphia mesothelioma lawyer mesothelioma attorneys AUTO ACCIDENT ATTORNEY Criminal lawyer Miami Custom WordPress theme designer DONATING USED CARS TO CHARITY Casino structured settlement annuity companies Social media strategies Dwi lawyer Nunavut Culture compare life assurance holland michigan college Social media campaigns Car insurance quotes pa mesothelioma attorney Car Insurance Quotes Utah Donate Car to Charity California virtual data rooms selling a structured settlement Make money online Australia Mobile casino la personal injury lawyer Asbestos Lawyers Mortgage structured settlements companies alabama mesothelioma lawyer mesothelioma lawyer virginia Casino reviews Cheap Auto Insurance in VA MORTGAGE ADVISER Psychic for free New social media platforms personal injury lawyer mesothelioma attorney california World trade center footage los angeles auto accident attorneys federal criminal defense attorney motorcycle accident attorney chicago mesothelioma help Live casino DUI lawyer WordPress theme designers Hire php developers mesothelioma Mortgage adviser car insurance companies sell annuity payment Mortgage Adviser adverse credit remortgage auto accident lawyer san francisco Insurance Injury Lawyers Html email FORENSICS ONLINE COURSE Hire php programmers car accident lawyers west palm beach Paperport Promotional Code Donate car to charity California mesothelioma lawsuit mesothelioma lawyer houston offshore accident lawyer event management security personal injury law firm asbestos mesothelioma lawsuit Automobile Accident Attorney mesothelioma law firm pharmacist jobs in chicago Criminal defense lawyer benchmark lending Seo company motorcycle accident lawyer california Service business software Donate Car for Tax Credit Learning adobe illustrator Php programmers for hire paperport promotional code BEST CRIMINAL LAWYER IN ARIZONA bus accident attorney los angeles CAR INSURANCE QUOTES MN asbestos lung cancer REGISTER FREE DOMAINS Bankruptcy lawyer Computer science classes online houston mesothelioma attorney yahoo web hosting Seo companies car accident lawyer san bernardino Best social media platforms for business Hard drive Data Recovery Services STRUCTURED ANNUITY SETTLEMENT EMAIL BULK SERVICE Sell Annuity Payment Donating a Car in Maryland new mexico mesothelioma lawyer Business finance group Social media platforms for business PHD IN COUNSELING EDUCATION CHEAP AUTO INSURANCE IN VA NEUSON Seo services Best Seo company Business management software Donate your car for kids google affiliate LIFE INSURANCE CO LINCOLN Best social media platforms mesothelioma settlement amounts houston motorcycle accident lawyer Motor Replacements saskatchewan auto insurance CHEAP DOMAIN REGISTRATION HOSTING Online Christmas cards Custom Christmas cards Photo Christmas cards DAYTON FREIGHT LINES WordPress themes for designers car insurance quotes mn mesothelioma lawyer california criminal defense attorneys florida personal injury attorney springfield mo cell cycle regulation ppt Auto Mobile Shipping Quote Psd to WordPress Social media examiner Social media management buying an annuity calculator Car Insurance Quotes Colorado car insurance quotes pa PAPERPORT PROMOTIONAL CODE Tech school small business administration sba Social media platforms Motor Insurance Quotes Christmas cards Proud Italian cook Psd to html Italian cooking school Adobe illustrator classes arizona auto accident attorney LOW CREDIT LINE CREDIT CARDS Social media tools injury attorney baton rouge Met auto Mesothelioma Law Firm DALLAS MESOTHELIOMA ATTORNEYS Online Classes royalty free images stock CAR ACCIDENT LAWYERS Car insurance quotes Utah Donate Your Car Sacramento How to Donate A Car in California MESOTHELIOMA LAW FIRM Structures Annuity Settlement integrated ehr Dedicated Hosting Dedicated Server Hosting Better conferencing calls Donate Your Car for Kids CAR INSURANCE QUOTES PA Low Credit Line Credit Cards Personal Injury Lawyers mesothelioma cases Neuson Email Bulk Service Annuity Settlements buyer of structured settlement annuity DONATE YOUR CAR SACRAMENTO Dayton Freight Lines Car Insurance Quotes Donate a Car in Maryland Cheap Domain Registration Hosting Donate Cars Illinois Psychic for Free selling my structured settlement Criminal Defense Attorneys Florida Best Criminal Lawyers in Arizona florida car insurance company Life Insurance Co Lincoln