YUME|TEC is designed as a self-contained learning example, and its simplicity makes customization straightforward. Because there is no framework, no ORM, and no build pipeline, most changes come down to three things: editing database content, swapping image files, and updating a handful of configuration constants scattered across a small number of PHP files. The sections below walk through each category of change.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/wreyesus/Sencillo_Carrito_de_Compras_en_PHP/llms.txt
Use this file to discover all available pages before exploring further.
Adding a new product
Products are stored in theproductos table. Each row requires a category ID (id_cat), a name, a manufacturer, a price, an image filename, and a description. The descripcion field supports newline characters — the detail page renders them with nl2br().
imagenes/productos/i7_12700k.jpg— thumbnail displayed in the category listing at 200×200 pximagenes/productos/detalle/i7_12700k.jpg— full-size image displayed on the detail page (detalles.php) at 200×200 px
imagen column. The listing and detail templates reference them with no additional path resolution.
Adding a new product category
Insert the category row
Add the new category to the
categorias table. Note the auto-incremented id_cat value that MySQL assigns — you will need it in the next step.The
contiene column is informational only. It does not enforce a product limit — the actual count displayed on the categories page is always computed live by the SQL query against the productos table.Create the listing page
Duplicate one of the existing category files (for example, copy Also update the
cat_procesadores.php to cat_tarjetas_graficas.php) and change the WHERE id_cat= value in the query to match your new category’s id_cat:<title> tag and any heading text in the new file to reflect the category name.Replacing images
All store images are plain files — no thumbnailing, resizing pipeline, or CDN involvement. Replace any file in-place with an identically named replacement to update it site-wide.| Path | Role |
|---|---|
img/banner.jpg | Hero banner displayed on the homepage |
img/logo.jpg | Store logo shown in the page header |
img/cat_procesadores.jpg | Category landing image for Processors (276×309 px) |
img/cat_motherboards.jpg | Category landing image for Motherboards (276×309 px) |
img/cat_rams.jpg | Category landing image for RAM (276×309 px) |
imagenes/productos/{filename}.jpg | Catalog thumbnail for a product (200×200 px in the listing) |
imagenes/productos/detalle/{filename}.jpg | Full-size product image on the detail page (rendered at 200×200 px) |
banner.jpg at the appropriate dimensions and drop it into img/, overwriting the existing file.
Changing the store name
The store is identified as YUME | TEC (with spaces around the pipe) in page<title> tags and the copyright footer, as YUME-TEC in some CSS class names, and as Yume|TEC in heading text within the sliding login panel. To rebrand the store, perform a find-and-replace across all .php files for each of the following strings:
YUME | TECYUME-TECYume|TEC
grep -r, sed -i) can handle a project-wide replacement in one pass. Remember to also update the footer copyright line:
Updating PHPMailer settings
The store sends two types of email: a registration confirmation (fromregistro.php) and an order confirmation (from final.php). Both use the bundled PHPMailer library (class.phpmailer.php and class.smtp.php).
See the Email Notifications page for the full list of PHPMailer properties to update — including SMTP host, port, credentials, sender address, and message body templates.
Updating PayPal settings
The checkout flow infinal.php builds an HTML form with hidden fields that are posted directly to PayPal’s standard payment gateway. You must update those hidden field values to point to your own PayPal account and configure the correct return and cancel URLs.
See the Checkout page for the complete list of PayPal hidden field values to update in final.php.
Enabling PHP 7+ compatibility
YUME|TEC was written for PHP 5 and uses themysql_* extension family, which was removed entirely in PHP 7.0. To run the project on a modern server, every mysql_* call must be replaced with its mysqli_* equivalent.
Update the connection in Connections/tienda.php
Replace
mysql_pconnect() with mysqli_connect(), passing the database name as the fourth argument:Update result-set functions
Replace each legacy function with its
mysqli_* counterpart:Legacy (mysql_*) | Replacement (mysqli_*) |
|---|---|
mysql_fetch_array($result) | mysqli_fetch_array($result) |
mysql_fetch_assoc($result) | mysqli_fetch_assoc($result) |
mysql_num_rows($result) | mysqli_num_rows($result) |
mysql_error() | mysqli_error($tienda) |