Storeswitcher (no storeview-switcher) - Multitienda
-
12-12-2019 - |
Pregunta
En mi proyecto Magento actual Wein-Partner.at Tengo que preparar varias tiendas en un sitio web.
Para las diferentes tiendas, sin duda, habrá diferentes idiomas, lo que también significa múltiples vistas de tienda.Sin embargo, el selector de idioma desapareció y no tengo idea de dónde.Curiosamente, en su lugar tengo un selector de moneda.
¿Hay alguna manera de crear un "selector de tienda" en la parte superior, no solo un selector de vista de tienda?
¿Tengo que habilitar "agregar código de tienda a la URL" para eso?
El plan es básicamente el siguiente:
Está el sitio web (wein-partner.at) que se abrirá en la página de inicio y mostrará la tienda principal.Debajo de eso, si hace clic en una categoría, accederá a la vista de categorías con etiquetas adicionales para elegir (región, precio, ...).Si hace clic en, digamos una región que tiene un solo enólogo, se supone que será llevado a la subtienda del enólogo que muestra su logotipo en lugar del nuestro (actualmente no puedo cambiar de tienda, por lo que siempre muestra la vista de la tienda del proveedor).
El archivo de plantilla es el mismo que la vista de categoría, aparte del logotipo (cada proveedor también tiene sus propias vistas de tienda [principalmente probablemente en inglés, alemán, francés e italiano]).
En resumen, esto significa que habrá 4 niveles (sitio web - tienda principal - tienda/grupo de tiendas - vista de tienda/tienda)
editar01: Encontré esto hasta ahora (app/design/frontend/default/your_theme/template/page/switch)
<?php if(count($this->getGroups())>1): ?>
<div class="store-switcher">
<label for="select-store"><?php echo $this->__('Select Store:') ?></label>
<select id="select-store" title="<?php echo $this->__('Select Store') ?>" onchange="location.href=this.value">
<?php /*foreach ($this->getStores() as $_store): ?>
<option value="<?php echo $_store->getUrl('') ?>"<?php if($_store->getId()==$this->getCurrentStoreId()): ?> selected="selected"<?php endif; ?>><?php echo $_store->getName() ?></option>
<?php endforeach;*/ ?>
<?php foreach ($this->getGroups() as $_group): ?>
<?php $_selected = ($_group->getId()==$this->getCurrentGroupId()) ? ' selected="selected"' : '' ?>
<option value="<?php echo $_group->getHomeUrl() ?>"<?php echo $_selected ?>><?php echo $this->escapeHtml($_group->getName()) ?></option>
<?php endforeach; ?>
</select>
</div>
<?php endif; ?>
Solución
El conmutador de la tienda se carga en el tema predeterminado a través del archivo de diseño (XML).
APLICACIÓN / DESIGN / FRONTEND / Your_Package / Your_Theme / Diseño / Página.xml
Busque la siguiente línea de texto:
<block type="page/switch" name="store_switcher" as="store_switcher" template="page/switch/stores.phtml"/>
Si copia esa línea de XML a la ubicación que lo desea, puede agregar una llamada para mostrarla en el archivo de su plantilla (PHTML) como tal:
<?php echo $this->getChildHtml('store_switcher') ?>
Otros consejos
Localizar page.xml
en app/design/frontend/base/default/layout
directorio.
Abra el archivo con un editor de texto y busque el código a continuación.
<block type="page/switch" name="store_switcher" as="store_switcher" template="page/switch/stores.phtml"/>
Para mostrar el selector de tienda en el encabezado de la página, solo tenemos que cambiar la ubicación del código anterior.Este código se inserta en page/html_footer
bloquear.Córtelo y péguelo debajo del page/html_header
bloquear.
<block type="page/html_header" name="header" as="header">
Ahora, para mostrar el selector de tiendas, vaya a header.phtml
en el app/design/frontend/base/default/template/page/html
directorio e inserte el siguiente código.
<?php echo $this->getChildHtml('store_switcher') ?>
Asegúrese de que en su tema Tiendas de archivos.PHTML está disponible si no está disponible, obtenga de este archivo de Fresh Magento desde la plantilla de la base / Página / Switch / Folder
¡Entonces asegúrate de poner código correctamente!Espero que debería funcionar bien!