Beruflich Dokumente
Kultur Dokumente
Website y Tienda
Un Website es una colección de tiendas que comparten los mismos
clientes y la información de las compras que hacen, así como su
carrito de compras. Por otro lado una Tienda es una colección de
Vistas de Tienda. Estos términos son muy generales y pueden
adoptarse para definir las necesidades únicas de cada comerciante.
Algunos escenarios para definir los diferentes usos de un website,
tienda y vistas de tienda son los siguientes:
Escenario 1
Escenario 2
Ahora una compañía llamada Mis Laptops quiere abrir dos Websites
separados. Ambos venden laptops pero a diferentes precios. También
quieren ofrecer en cada sitio la opción de idioma: inglés y español.
Cada producto será mostrado en el idioma que los visitantes hayan
seleccionado. Necesitarán sincronizar la información de clientes y
pedidos por sitio.
Solución: En este escenario, la compañía Mis Laptops tendría dos
“Websites”: “Mis Laptops” y “Laptops Baratas”. Cada Website, tendrá
una tienda llamada del mismo nombre (una donde se venderan
laptops de costo medio y otras donde se venderán solo las de bajo
costo). Cada tienda a su vez tendrá dos “Vistas de Tienda”: “Tienda
en Ingles” y “Tienda en Español”.
Escenario 3
Interfaz
Una interfaz es una colección de temas que determinan el aspecto
visual y funcionalidades del frontend de tu tienda. Una interfaz puede
ser asignada tanto en el nivel de Website y/o en el nivel de Vista de
Tienda por medio del panel de administración. (En inglés por el
momento: Learn how to assign an interface to the website/store)
Si asignas una interfaz en el nivel de Website, todas tus tiendas la
heredarán. Pero después puedes asignar una interfaz en el nivel
tienda, sobrescribiendo la del Website.
Digamos que operas cuatro tiendas diferentes bajo un Website
llamado “Remedios John”. Estudiando los efectos de cada método
como se muestra abajo, podrás determinar fácilmente el método a
emplear para las necesidades de diseño de tu negocio.
Nivel de “website”
Nivel “Tienda”(Store)
Temas
Un tema es cualquier combinación de archivos de distribución
(Layouts), plantillas (Templates) y/o estilos (Skins) que crean la
experiencia visual de tu tienda. Magento está construido con la
capacidad de cargar múltiples temas al mismo tiempo, aunque los
distingue en dos grandes tipos:
Layouts (estructuras):
Templates (plantillas):
Skins: (máscaras)
Bloques
Diagrama 2. Bloques de contenido
Diagrama 1. Bloques estructurales (en azul)
(en naranja)
Los bloques son la forma en que Magento distingue la colección de
funcionalidades en el sistema y crea una forma modular para
manejarla desde ambos puntos de vista: el visual y el funcional. Hay
dos tipos de bloques y funcionan juntos para crear la salida visual.
Bloques de estructura
Bloques de contenido
2. Temas múltiples
• Directorio 1: app/design/frontend/default/default/
• Directorio 2: skin/frontend/default/default/
Paso 1
Paso 2
En Default (debajo de Cabeceras de Tema o Themes heading),
ingresa el nombre del nuevo “tema” que quisieras cargar en tu
website/tienda. Si dejas esta caja de texto vacía, Magento
automáticamente cargará solo el tema llamado “default” (Recuerda
que no importa cómo configures la pestaña de diseño, Magento
automáticamente cargará el tema llamado “default”, eso quiere decir
que si asignas un tema en el administrador, será cargado en la cima
de la jerarquía, pero siempre cargará junto al tema default. Sin
embargo, esto cambiará en las próximas versiones del sistema para
brindarte un control total sobre qué temas son cargados en tu
tienda). En caso de que elijas cargar el tema por separado en función
del tipo de archivo(layout, tema, skin o archivos de traducción),
escribe el nombre del tema del cual se obtendrán aquellos tipos de
archivo.
Paso 3
Cuando todo esté listo, haz clic en el botón “Guardar config” o “Save
config” y recarga tu tienda en el navegador – Vola! Ahora verás tu
tema reflejado en el frontend.
Ahora que sabemos cómo crear y gestionar temas, pasemos a
conocer cómo puedes manipular esos temas con Magento.
Jerarquía de temas
Magento maneja la carga de varios temas asignando lo que se llama
jerarquía de temas. De esta forma los archivos de un tema que se
encuentra en la cima de la jerarquía se mantendrán y reemplazarán a
los archivos de temas que se encuentren debajo. Por ello es que en el
tema navideño la distribución seguía siendo la del tema fuera de
temporada ya que en la temporada navideña no hemos creado un
archivo que lo reemplace.
La jerarquía es determinada por ti en la pestaña de Gestión de Diseño
y en las próximas versiones tendrás capacidad de manejarla a tu
antojo completamente. Recuerda que por ahora el tema
predeterminado o default sigue cargándose siempre al principio (en la
base inferior de toda la jerarquía) y sobre él se carga el segundo tema
asignado en el Administrador (colocándolo en la cima de la jerarquía).
Cuando asignas múltiples temas a tu tienda, estás tomando ventaja
del hecho que, mientras tu objetivo al construir un tema es crear la
más usable y visualmente placentera interfaz gráfica, el objetivo de
Magento es asegurarse que la aplicación es capaz de localizar y
cargar todos los archivos que el tema requiere para mantener
corriendo a la aplicación sin errores.
Por ejemplo, si tu página de listado de categorías llama a una plantilla
llamada “view.phtml” (en cuyo caso esta plantilla se convierte en un
archivo requerido), pero la aplicación es incapaz de encontrar el
archivo en el tema de mayor jerarquía, lo buscará en el tema que le
sigue en la jerarquía. Si esto falla, la aplicación seguirá buscando en
jerarquías cada vez más inferiores hasta que pueda localizar el
archivo llamado “view.phtml” y cargarlo dentro de la tienda, dando
por finalizada la búsqueda. Este método de construir un diseño es
llamado “recurso de emergencia” (más conocido por su nombre
técnico “fallback”) porque la aplicación, al no encontrar el recurso
necesario, da una mirada al siguiente posible para cargarlo en la
tienda. (Nota: al momento de escribir esta guía, el tema con mayor
jerarquía es el tema que asignes por el administrador y el de menor
jerarquía es el tema default que Magento automáticamente carga en
la tienda. En próximas versiones, Magento te brindará la capacidad
de tener un control total sobre la jerarquía de tus temas)
Digamos que tienes 3 temas asignados a tu tienda y cada uno de
esos temas contienen los siguientes archivos:
Tabla 1
También vamos a asumir que los tres temas han sido asignados en
esta jerarquía:
Tabla 2
Si vemos de cerca, notaremos que hay unos pocos archivos
redundantes como templates/templates/3-col-layout.phtml y
css/base.css en la Tabla 1. Ahora vamos a organizar la tabla para que
los archivos redundantes queden ordenados en paralelo uno con otro.
Tabla 3
start_slideshow(1, 3, 2000);
</script>
Este código corresponde a la programación del script. Si queremos
añadir más imágenes o cambiar el tiempo de transiciones, debemos
tocar la segunda línea: (1, 3, 2000);
<div id="introhomepage" style="height: 230px; position: relative;"
onmouseover="stop_slideshow()" onmouseout="start_slideshow(1, 3,
1000)">
<div id="slide1" class="slide" style="position: absolute; top: 0pt;
left: 0pt; display: block; z-index: 3; opacity: 1;"><a
href="http://www.yourdomain.com/path/to/webpage.html"><img src="{{skin
url=" border="0" alt="" /></a></div>
<div id="slide2" class="slide" style="position: absolute; top: 0pt;
left: 0pt; display: none; z-index: 2; opacity: 0;"><a
href="http://www.yourdomain.com/path/to/webpage.html"><img src="{{skin
url=" border="0" alt="" /></a></div>
<div id="slide3" class="slide" style="position: absolute; top: 0pt;
left: 0pt; display: none; z-index: 1; opacity: 0;"><a
href="http://www.yourdomain.com/path/to/webpage.html"><img src="{{skin
url=" border="0" alt="" /></a></div>
</div>
En el código html, tenemos que editarlo para añadir la ruta de
nuestras imágenes y también cada uno de los links a los que dirige la
imagen.
2. Una vez hemos editado y guardado este nuevo bloque estático, simplemente, tenemos
que añadir el bloquela en el Home. Para hacerlo, vamos a CMS > Gestionar las
páginas > HomePage y añadimos el bloque añadiendo el siguiente código:
{{block type="cms/block" block_id="el_identificador"
template="cms/content.phtml"}}
En block_id tenemos que poner el mismo nombre del identificador
que hemos añadido en el anterior paso.
En el foro oficial, hay un post que habla de este slideshow y algunas dudas y problemas
que han tenido varios usuarios.
• aceptación de la divisa del país de destino (con los sistemas de pago que existen
actualmente como Paypal, esto no es ningún problema);
• idioma del país de destino.
• require_once $mageFilename;
• define(’WP_USE_THEMES’, true);
• require(’ruta/a/tu/wordpress/wp-blog-header.php’);
• Línea 399:
$wp_the_query =& new WP_Query();
• Línea 414:
$wp_rewrite =& new WP_Rewrite();
• Línea 421:
$wp =& new WP();
• Línea 456:
$wp_locale =& new WP_Locale();
• Línea 386:
// Escape with wpdb.
$_GET = add_magic_quotes($_GET );
$_POST = add_magic_quotes($_POST );
$_COOKIE = add_magic_quotes($_COOKIE);
$_SERVER = add_magic_quotes($_SERVER);
Paso 5
yourdomain.com/js/sb/shadowbox.js
loadingImage: ‘images/loading.gif’,
por:
overlayBgImage: ‘images/sb/overlay-85.png’,
por:
Graba y cierra.
Paso 6
yourdomain.com/app/design/frontend/default/default/layout/page.xml
<action method=”addJs”><script>mage/cookies.js</script></action>
<action method=”addJs”><script>sb/src/js/lib/yui-
utilities.js</script></action>
<action method=”addJs”><script>sb/src/js/adapter/shadowbox-
prototype.js</script></action>
<action
method=”addJs”><script>sb/src/js/shadowbox.js</script></action>
css/menu.css
css/shadowbox.css
Graba y cierra.
- Ahora abrimos:
yourdomain.com/app/design/frontend/default/default/template/catalog/pr
oduct/view/media.phtml
<li>
</li>
por:
<li>
</li>
Graba y cierra.
- Ahora abrimos:
yourdomain.com/app/design/frontend/default/default/template/page/html/
head.phtml
Reemplazamos:
<script type=“text/javascript”>
</script>
por:
<script type=“text/javascript”>
</script>
<script type=“text/javascript”>
</script>
Graba y cierra.
¡¡Y a disfrutar de una herramienta que será las delicias de nuestros
visitantes!!
Podéis consultar el tutorial original aquí. Muchas gracias Chad
Coleman.
• Una lista (mostrada en línea) de todos los store view (idiomas), y que cada uno
vaya acompañado de un icono-banderita.
• Rollover sobre los iconos-banderitas.
• Dar una clase selected a la la vista de tienda en la que nos encontramos.
Paso 1.
Diseña o consigue tus iconos. En este ejemplo hemos usado el pack
de famfamfam. Recuerda el rollover, para el estado normal del icono
hemos duplicado la imagen y la hemos desaturado. Guarda los
archivos en skin/frontend/default/tu_theme/images. Para este
ejemplo, tenemos 6 archivos que los he llamado así:
flag-en.gif
flag-en-selected.gif
flag-es.gif
flag-es-selected.gif
flag-jp.gif
flag-jp-selected.gif
Paso 2.
Edita tu archivo languages.phtml, situado en
app/design/frontend/default/tu_theme/template/page/switch;
reemplaza todo con lo siguiente y guarda:
<?php if(count($this->getStores())>1): ?>
<div class="language-switcher">
<ul>
<?php foreach ($this->getStores() as $_lang): ?>
<li>
<?php if($_lang->getId()==$this->getCurrentStoreId()): ?>
<span class="<?php echo $_lang->getCode() ?>
selected">
<?php echo $this->htmlEscape($_lang->getName()) ?
></span>
<?php else: ?>
<a class="<?php echo $_lang->getCode() ?>" href="<?php
echo $_lang->getCurrentUrl() ?>">
<?php echo $this->htmlEscape($_lang->getName()) ?></a>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
Paso 3.
Edita tu archivo boxes.css, situado en
skin/frontend/default/tu_theme/css. Añade lo siguiente y guarda:
.language-switcher li { display:inline; }
.language-switcher a.es { background:url(../images/flag-es.gif) no-
repeat; padding-left:20px; }
.language-switcher .es.selected,
.language-switcher a:hover.es { background:url(../images/flag-es-
selected.gif) no-repeat; padding-left:20px; }
.language-switcher a.en { background:url(../images/flag-en.gif) no-
repeat; padding-left:20px; }
.language-switcher .en.selected,
.language-switcher a:hover.en { background:url(../images/flag-en-
selected.gif) no-repeat; padding-left:20px; }
.language-switcher a.jp { background:url(../images/flag-jp.gif) no-
repeat; padding-left:20px; }
.language-switcher .jp.selected,
.language-switcher a:hover.jp { background:url(../images/flag-jp-
selected.gif) no-repeat; padding-left:20px; }
Listo. Sólo falta darle tus últimos retoques de CSS y con esto finaliza
este minitutorial.
P.D.: Me gustaría hacer lo mismo para el currency switcher (cambio
de moneda), pero parece ser que funciona de otra forma. ¡Si alguien
se anima que nos lo cuente!