Hola, estoy necesitando mostrar en la pagina de categorías las opciones que tiene cada producto. No necesito que calcule el precio ni nada complejo, solamente necesito poder colocar debajo de (por ejemplo) el precio de cada producto, las opciones que tiene disponible como texto a modo informativo.
Utilizo OC v1.5.4.1.
Espero que puedan ayudarme, se que hay algo con el tema del controller pero no se bien qué tocar.
Desde ya, muchas gracias!
Utilizo OC v1.5.4.1.
Espero que puedan ayudarme, se que hay algo con el tema del controller pero no se bien qué tocar.
Desde ya, muchas gracias!
Last edited by rodricrzz on Wed Jun 11, 2014 12:53 pm, edited 1 time in total.
Este post es viejo pero la logica es la misma:
http://forum.opencart.com/viewtopic.php?f=121&t=18928
http://forum.opencart.com/viewtopic.php?f=121&t=18928
Celestial - Martín Abel Rosales
WhatsApp: 50671482211
Email: martinrosales2012@hotmail.com
Skype: martin.abel.rosales
San José , Costa Rica
Hola celestial, gracias por responderme.celestial wrote:Este post es viejo pero la logica es la misma:
http://forum.opencart.com/viewtopic.php?f=121&t=18928
Ese post lo habia encontrado pero no entendí lo que hay que hacer, no encuentro las lineas que dice en controller/catalog/category.php.
Quizas es para otra version mas antigua.
No te cierres, has pruebas, por ejemplo, usando tu version:rodricrzz wrote:Hola celestial, gracias por responderme.celestial wrote:Este post es viejo pero la logica es la misma:
http://forum.opencart.com/viewtopic.php?f=121&t=18928
Ese post lo habia encontrado pero no entendí lo que hay que hacer, no encuentro las lineas que dice en controller/catalog/category.php.
Quizas es para otra version mas antigua.
Te dice al comienzo que Adiciones esto:
$this->data['action'] = HTTP_SERVER . 'index.php?route=checkout/cart';
Despues de:
$this->data['continue'] = HTTP_SERVER . 'index.php?route=common/home';
Pero esta linea EXISTE pero esta modificada y actualizada, como no encontras la linea completa busca una parte:
Busca solo este pedazo, $this->data['continue'] = (AHHHHHH ahi esta) pero esta cambiada
$this->data['continue'] = $this->url->link('common/home');
OK entonces lo que vamos a adicionar va despues de esto PERO NO IGUAL PORQUE SI VEMOS LA LINEA QUE ENCONTRAMOS ES DIFERENTE, ENTONCES LA IGUALAMOS:
ESTO
$this->data['action'] = HTTP_SERVER . 'index.php?route=checkout/cart';
PASARIA A:
$this->data['action'] = $this->url->link('checkout/cart');
Y así sucesivamente, por eso te dije que la logica es la misma venis haciendo la modificación y a la vez venis actualizandola, es sencillo y además es prueba y error, por aca te estaré monitoreando el avance. Todo lo que necesitas está ahi para tu version.
Celestial - Martín Abel Rosales
WhatsApp: 50671482211
Email: martinrosales2012@hotmail.com
Skype: martin.abel.rosales
San José , Costa Rica
celestial wrote:No te cierres, has pruebas, por ejemplo, usando tu version:rodricrzz wrote:Hola celestial, gracias por responderme.celestial wrote:Este post es viejo pero la logica es la misma:
http://forum.opencart.com/viewtopic.php?f=121&t=18928
Ese post lo habia encontrado pero no entendí lo que hay que hacer, no encuentro las lineas que dice en controller/catalog/category.php.
Quizas es para otra version mas antigua.
Te dice al comienzo que Adiciones esto:
$this->data['action'] = HTTP_SERVER . 'index.php?route=checkout/cart';
Despues de:
$this->data['continue'] = HTTP_SERVER . 'index.php?route=common/home';
Pero esta linea EXISTE pero esta modificada y actualizada, como no encontras la linea completa busca una parte:
Busca solo este pedazo, $this->data['continue'] = (AHHHHHH ahi esta) pero esta cambiada
$this->data['continue'] = $this->url->link('common/home');
OK entonces lo que vamos a adicionar va despues de esto PERO NO IGUAL PORQUE SI VEMOS LA LINEA QUE ENCONTRAMOS ES DIFERENTE, ENTONCES LA IGUALAMOS:
ESTO
$this->data['action'] = HTTP_SERVER . 'index.php?route=checkout/cart';
PASARIA A:
$this->data['action'] = $this->url->link('checkout/cart');
Y así sucesivamente, por eso te dije que la logica es la misma venis haciendo la modificación y a la vez venis actualizandola, es sencillo y además es prueba y error, por aca te estaré monitoreando el avance. Todo lo que necesitas está ahi para tu version.
Gracias por responder.
Estoy probando y lo que hice fue en el controller category.php agregar:
Code: Select all
$options = $this->model_catalog_product->getProductOptions($result['product_id']);
Code: Select all
$this->data['products'][] = array(
Code: Select all
'id' => $result['product_id'],
'options' => $options,
Code: Select all
<?php if ($products['options']) { ?>
<?php foreach ($products['options'] as $option) { ?>
<?php echo $option['name']; ?>
<?php foreach ($option['option_value'] as $option_value) { ?>
<?php echo $option_value['name']; ?>
<?php } ?>
<?php } ?>
<?php } ?>
En consecuencia, recibo el siguiente error en cada box:
GRACIAS!!Notice: Undefined index: options in /home/lb000625/public_html/tango/catalog/view/theme/default/template/product/category.tpl on line 96
(modificado)
Ya lo solucioné! Me basé en un MOD publicado en este topic: http://forum.opencart.com/viewtopic.php ... 48#p204048
La modificación que yo usé fué:
catalog/controller/product/category.php
Antes de:
Agregué:
Luego de:
Agregué:
catalog/view/theme/default/template/product/category.tpl
Ponen este código donde quieren que aparezca, obviamente dentro del box-product, yo lo puse en el medio de <div class="rating">...</div> y del <div class="cart">...</div>:
El resultado de esto sería los options que son select con su nombre de opcion y cantidad disponible.
En el código original del topic que puse arriba, muestra todos los options, sean select, radio, imagen, etc, para mi necesidad era solamente los options del tipo select, por eso puse ese codigo.
La modificación que yo usé fué:
catalog/controller/product/category.php
Antes de:
Code: Select all
$this->data['products'][] = array(
Code: Select all
$options = $this->model_catalog_product->getProductOptions($result['product_id']);
Code: Select all
$this->data['products'][] = array(
Code: Select all
'id' => $result['product_id'],
'options' => $options,
Ponen este código donde quieren que aparezca, obviamente dentro del box-product, yo lo puse en el medio de <div class="rating">...</div> y del <div class="cart">...</div>:
Code: Select all
<?php if ($product['options']) { ?>
<div class="options" id="option_<?php echo $product['product_id']; ?>">
<?php foreach ($product['options'] as $option) { ?>
<?php if ($option['type'] == 'select') { ?>
<div id="option-<?php echo $option['product_option_id']; ?>" class="option">
<b><?php echo $option['name']; ?>:</b><br />
<select name="option[<?php echo $option['product_option_id']; ?>]">
<?php foreach ($option['option_value'] as $option_value) { ?>
<option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
<?php if ($option_value['price']) { ?>
(<?php echo $option_value['price_prefix']; ?><?php echo $option_value['quantity']; ?>)
<?php } ?>
</option>
<?php } ?>
</select>
</div>
<?php } ?>
<?php } ?>
</div>
<?php } ?>
El resultado de esto sería los options que son select con su nombre de opcion y cantidad disponible.
En el código original del topic que puse arriba, muestra todos los options, sean select, radio, imagen, etc, para mi necesidad era solamente los options del tipo select, por eso puse ese codigo.
Who is online
Users browsing this forum: No registered users and 3 guests