---
title: Multitienda en PrestaShop — introduccion
section: multistore
slug: overview
description: "Introduccion a la funcionalidad multitienda de PrestaShop: grupos de tiendas, contextos, cuando activarla, impacto en los modulos y configuracion inicial."
keywords: prestashop multitienda multistore grupos contexto activar modulo configuracion
last_updated: 2024-12-01
source_url: "https://ayudaprestashop.es/multistore/overview"
---

# Multitienda en PrestaShop — introduccion

> Introduccion a la funcionalidad multitienda de PrestaShop: grupos de tiendas, contextos, cuando activarla, impacto en los modulos y configuracion inicial.

La multitienda de PrestaShop permite gestionar varias tiendas independientes (o semidependientes) desde una unica instalacion. Cada tienda puede tener su propio catalogo, tema, configuracion de precios, idiomas y metodos de pago.

## Que es la multitienda

| Caso de uso | Solucion multitienda |
| --- | --- |
| Tienda B2B y B2C separadas | 2 tiendas en mismo grupo |
| Tiendas por idioma/pais | 1 tienda por locale |
| Marca principal + outlet | 2 tiendas independientes |
| Franquicias | Grupo de tiendas compartiendo catalogo |
| Tienda de pruebas (staging) | Tienda oculta en mismo servidor |

## Estructura: tiendas y grupos

*Jerarquia de la multitienda*

```bash
All Shops (contexto global)
├── Grupo A (compartir stock, clientes, pedidos)
│   ├── Tienda A1 (es.mitienda.com)
│   └── Tienda A2 (en.mitienda.com)
└── Grupo B (independiente)
    └── Tienda B1 (outlet.mitienda.com)

# Cada nivel puede tener su propia configuracion
# Los datos se heredan de arriba hacia abajo
# Una tienda puede sobreescribir la config del grupo
```

## Los tres contextos

*Detectar el contexto multitienda activo*

```php
<?php

// Verificar si la multitienda esta activada
if (!Shop::isFeatureActive()) {
    // Instalacion de tienda unica — contexto simplificado
    return;
}

// Los tres contextos posibles:
$context = Shop::getContext();

switch ($context) {
    case Shop::CONTEXT_ALL:
        // El admin esta en modo 'Todas las tiendas'
        // Las modificaciones afectan a todas
        break;

    case Shop::CONTEXT_GROUP:
        // El admin esta en un grupo de tiendas
        $idGroup = Shop::getContextShopGroupID();
        break;

    case Shop::CONTEXT_SHOP:
        // El admin esta en una tienda especifica
        $idShop = Shop::getContextShopID();
        break;
}

// Obtener IDs de tiendas del contexto actual
$shopIds = Shop::getContextListShopID();
```

## Impacto en modulos y queries

*Como afecta la multitienda a las queries de los modulos*

```php
<?php

// ── CONFIGURATION (ya maneja multitienda) ──
// Leer config de la tienda activa
$value = Configuration::get('MY_KEY');  // automatico

// Leer config de tienda especifica
$value = Configuration::get('MY_KEY', null, null, $idShop);

// Guardar en tienda especifica
Configuration::updateValue('MY_KEY', $value, false, null, $idShop);

// ── QUERIES PROPIAS (debes manejar manualmente) ──
// Si tu tabla tiene id_shop:
$idShop = (int) Context::getContext()->shop->id;

$rows = Db::getInstance()->executeS(
    'SELECT * FROM `' . _DB_PREFIX_ . 'mymodule_data`
     WHERE `id_shop` = ' . $idShop
);

// Para consultas globales (todos los shops):
$rows = Db::getInstance()->executeS(
    'SELECT * FROM `' . _DB_PREFIX_ . 'mymodule_data`'
    // sin filtro id_shop
);
```

## Activar multitienda

| Paso | Ubicacion en el BO |
| --- | --- |
| 1. Activar la feature | BO > Parametros de la tienda > General > Activar multitienda |
| 2. Crear grupos | BO > Parametros avanzados > Multitienda > Añadir grupo |
| 3. Crear tiendas | BO > Parametros avanzados > Multitienda > Añadir tienda |
| 4. Configurar URLs | BO > Multitienda > URL de la tienda |
| 5. Asignar temas | BO > Diseno > Temas (por tienda) |


---

*Fuente: [https://ayudaprestashop.es/multistore/overview](https://ayudaprestashop.es/multistore/overview). Version Markdown generada automaticamente para consumo por LLMs.*
