@extends(theme_view('layouts.app')) @php // Obtener SEO para la página de producto $seo = \App\Helpers\SeoHelper::getSeoForPage('product', [ 'product' => $product, 'subcategory' => $product->subcategoria_correcta ?? null, 'category' => $product->categoria ?? null ]); @endphp @section('title', $seo['title']) @section('meta_description', $seo['description']) @section('meta_keywords', $seo['keywords']) {{-- Open Graph específico para productos --}} @section('og_title', $product->name . ' | ' . getSiteName()) @section('og_description', Str::limit(strip_tags($product->DE_COMPLE ?? $product->ai_description ?? $product->name), 160)) @php $productImage = $product->stock_images->first(); $ogImageUrl = $productImage ? asset('uploads/product/large/' . $productImage->image) : asset('uploads/logos/logo.png'); @endphp @section('og_image', $ogImageUrl) @section('og_type', 'product') @section('content')

{{ $product->name }}

@csrf
@if($product->NOVEDAD == 'S')
New
@endif @if($product->VA_OFER1 == 'S' && $product->PS_OFER1 > 0) @php $discount = round((($product->IM_UNITA - $product->PS_OFER1) / $product->IM_UNITA) * 100); @endphp
-{{ $discount }}%
@endif
@php $firstImage = $product->stock_images()->first(); $mainImage = $firstImage ? asset('uploads/product/large/' . $firstImage->image) : asset('uploads/product/no_image.png'); @endphp {{ $product->name }}
@if($product->stock_images->count() > 0)
@elseif(!$firstImage) @endif
@if($nextProduct) @php $nextSlug = Str::slug($nextProduct->DE_ARTI); @endphp @endif @if($prevProduct) @php $prevSlug = Str::slug($prevProduct->DE_ARTI); @endphp @endif
@if($product->CO_MARCA)
{{ $product->marca->DE_MARCA ?? $product->CO_MARCA }}
@endif

{{ $product->name }}

@if(reviewsEnabled()) @endif {{-- Breadcrumb de categoría/subcategoría --}} @if($product->categoria || $product->subcategoria) @endif

@if($product->WW_STCK > 0) En Stock @else Sin Stock @endif

@if($product->VA_OFER1 == 'S' && $product->PS_OFER1 > 0)

Precio Regular: ${{ number_format($product->IM_UNITA, 2) }}

Precio Especial ${{ number_format($product->PS_OFER1, 2) }}

@else

${{ number_format($product->IM_UNITA, 2) }}

@endif
@if($product->WW_STCK > 0) @else @endif

{{ $product->DESCRIPCIO ?? 'Producto de alta calidad disponible en nuestro catálogo.' }}

@if($product->CO_ARTI)

Código: {{ $product->CO_ARTI }}

@endif @if($product->CO_BARRAS)

Código de Barras: {{ $product->CO_BARRAS }}

@endif
{{-- Shipping Features - COMENTADO POR PEDIDO DEL CLIENTE
  • Free Shipping
  • Free Return
  • Genuine Product
--}}

Descripción del Producto

@if($product->ai_description) {{-- Descripción web editada desde CodeIgniter --}} {!! $product->ai_description !!} @else {{-- Fallback a campos del sistema de gestión --}}

{{ $product->DE_ARTI_LARGA ?: $product->name }}

@if($product->DESCRIPCIO)

Detalles

{{ $product->DESCRIPCIO }}

@endif @if($product->OBSERVACIO)

Observaciones

{{ $product->OBSERVACIO }}

@endif @endif

Etiquetas del Producto

    @php $tags = []; // Agregar marca como etiqueta if($product->marca) { $tags[] = $product->marca->DE_MARCA; } // Agregar categoría como etiqueta if($product->categoria) { $tags[] = $product->categoria->DE_CATEGOR; } // Agregar subcategoría como etiqueta $subcategoria = $product->subcategoria_correcta; if($subcategoria) { $tags[] = $subcategoria->DE_SUBCATE; } // Agregar código de producto $tags[] = $product->CO_ARTI; // Agregar palabras clave del nombre del producto (opcional) $palabras = explode(' ', $product->DE_ARTI); foreach($palabras as $palabra) { if(strlen($palabra) > 3 && !in_array($palabra, $tags)) { $tags[] = $palabra; } } @endphp @if(count($tags) > 0) @foreach($tags as $tag)
  • {{ $tag }}
  • @endforeach @else
  • No hay etiquetas disponibles para este producto.
  • @endif
@if(reviewsEnabled())
@csrf

Escribe tu Reseña

¿Cómo calificas este producto? *

  1 * 2 * 3 * 4 * 5 *
Calidad

Reseñas de Clientes

@if($product->product_ratings->count() > 0)
    @foreach($product->product_ratings as $rating)
  • {{ $rating->username }}
    {{ $rating->created_at->format('M d, Y') }}
    {{ $rating->comment }}
  • @endforeach
@else

Aún no hay reseñas. ¡Sé el primero en reseñar este producto!

@endif
@endif

Información del Producto

@if($product->CO_ARTI) @endif @if($product->CO_MARCA && $product->marca) @endif @if($product->WW_CATEGOR && $product->categoria) @endif @php $subcategoria = $product->subcategoria_correcta; @endphp @if($subcategoria) @endif @if($product->CO_UNIDAD) @endif @if($product->WW_STCK) @endif
SKU {{ $product->CO_ARTI }}
Marca {{ $product->marca->DE_MARCA }}
Categoría {{ $product->categoria->DE_CATEGOR }}
Subcategoría {{ $subcategoria->DE_SUBCATE }}
Unidad {{ $product->CO_UNIDAD }}
Disponibilidad @if($product->WW_STCK > 0) ✓ En Stock @else Sin Stock @endif
@if(count($relatedProducts) > 0) @else @php $categoryProducts = \App\Models\Stock::where('WW_CATEGOR', $product->WW_CATEGOR) ->where('CO_ARTI', '!=', $product->CO_ARTI) ->where('WEB_VTA', 'S') ->where('BORRADO', 'N') ->orderByRaw('CASE WHEN WW_STCK > 0 THEN 0 ELSE 1 END') ->withCount('product_ratings') ->withSum('product_ratings', 'rating') ->with('stock_images') ->with('categoria') ->limit(8) ->get(); @endphp @if($categoryProducts->count() > 0) @endif @endif
@endsection @push('scripts') @endpush