Ir al contenido principal

Ubercart, atributos o CCK ?

El uso de atributos y clases para categorizar los productos de la tienda puede resolver en muchas situaciones y está muy bien pensado. Pero como no todo es perfecto acabo de chocar con una de esas situaciones que parece ser la excepción de la regla y donde he tenido que sacrificar los atributos de Ubercart por los conocidos y siempre bienvenidos campos de CCK.
La idea inicial era facilitar al vendedor que subiera un solo producto, con su modelo y precio básico, y que luego los clientes pudieran seleccionar los atributos requeridos. La cuestión se complicó porque los cinco (5) atributos asociados a la clase de producto X están muy poblados. Cuando intenté crear los números SKU únicos para cada combinación posible el servidor de la base  colapsó y es que no me había percatado de que las posibles combinaciones ascendían a más de 10 millones!!
Evidentemente no hay forma humana de controlar esto, y además no resulta una solución real, puesto que evidentemente, el proveedor nunca tendrá en stock las 10 millones de opciones posibles de ese producto. En este caso, es más conveniente usar los campos de CCK dentro del tipo de contenido del producto X y que el proveedor suba al sitio los productos que tiene. Dejar solamente para los atributos quizás un solo campo, me imagino que el que más varíe, pienso por ejemplo, en el siempre recurrido ejemplo de las camisetas, dejar el atributo color o talla, y eso reduciría muchísimo las posibles combinaciones.
Concluyo, hasta que me demuestre lo contrario, que en el caso de que los atributos sean muy numerosos, es mejor usar CCK. La comparación la estoy estableciendo entre la cantidad de combinaciones posibles que puedan generar el uso de los atributos, que obligaría al vendedor a contabilizar el stock de esa cantidad, y por otra parte la cantidad de productos que el vendedor tuviese que ingresar al sitio en caso de que usara CCK.
Poniendo un ejemplo hipotetico, si se venden camisetas con 3 tallas y 3 colores posibles, se usarían los atributos de UC y tenemos 9 combinaciones. Así que el vendedor sube solamente 1 producto y actualiza el stock de 9 SKU posibles. Por otro lado suponiendo que un producto, por ejemplo zapatos, tengamos 12 posibles tallas y 15 colores posibles, eso nos generaría 180 (12x15) combinaciones. si además por ejemplo, dieramos la opción de que ese modelo tenga cordones o no, se duplicaría a 360!!! No creo que nadie que tenga una tienda de zapatos tenga las 360 variantes de un modelo de una marca en específico!! Si acaso tendrá quizás 5 tallas de 2 colores cada una y entonces seria más conveniente usar fields de CCK y que el vendedor entre 10 productos diferentes. La otra opción sería dejar para los atributos uno de los campos, por ejemplo, los colores y que el vendedor entre solamente un producto por cada talla.
Por supuesto, es sólo mi teoría... cualquier otra opinión o experiencia será bienvenida.



Comentarios

Entradas populares de este blog

Step-by-step guide to creating a .NET MAUI application for Android

   Step 1: Set Up Your Development Environment Install Visual Studio 2022 : Make sure you have Visual Studio 2022 installed with the .NET MAUI workload. Install Android SDK and Emulator : Ensure you have the Android SDK and an Android emulator installed. Step 2: Create a New .NET MAUI Project Open Visual Studio 2022 : Launch Visual Studio. Create a New Project : Click on "Create a new project" in the start window. Select .NET MAUI App Template : Choose "MAUI" in the project type drop-down, select the ".NET MAUI App" template, and click "Next". Configure Your Project : Name your project, choose a location, and click "Next". Choose .NET Version : Select the version of .NET you want to target and click "Create". Step 3: Set Up Your Project Explore Project Structure : Familiarize yourself with the project structure, dependencies, and files. Create XAML Pages : Start designing your app's user interface using XAML. Step 4: Write...

.NET MAUI project structure

  Project Structure Main Project Directory : App.xaml : This file is used for application-level resources, such as styles and themes. App.xaml.cs : Contains the code-behind for the App.xaml file, including the application entry point. MainPage.xaml : The main page of your application, which defines the UI layout in XAML. MainPage.xaml.cs : The code-behind for MainPage.xaml, where you implement the logic for the main page. Platforms : Android : Contains platform-specific code for Android, such as AndroidManifest.xml and MainActivity.cs. iOS : Contains platform-specific code for iOS, such as Info.plist and AppDelegate.cs. MacCatalyst : Contains platform-specific code for Mac Catalyst, such as Info.plist and AppDelegate.cs. WinUI : Contains platform-specific code for Windows, such as Package.appxmanifest and App.xaml.cs. Resources : Fonts : Contains font files used in the application. Images : Contains image assets used in the application. Styles : Contains styles and themes used in t...

Instalar Windows Subsystem for Linux (WSL) en un paso

Desde Windows 10 2004, es posible instalar Windows Subsystem for Linux (WSL) con un simple comando desde PowerShell o Windows Command Prompt (como administrador) wsl --install al cual le podemos pasar una serie de parámetros, por ejemplo, para escoger la distribución a instalar wsl --install -d ubuntu wsl --install --distribution Debian Solo resta entrar el nombre de usuario y contraseña para más detalles: https://docs.microsoft.com/en-us/windows/wsl/install