[MOD] Captura de Cantidades en Categorias Opencart

Please LogIn to Reply!

Post By: guest | 01-13-2013 07:57 Reply

Question

ADVERTENCIA para tiendas en las cuales los productos NO TIENEN OPCIONES (porque los pasaría por alto), posteriormente podriamos hacerle modificacion para esto y algunas mejoras. El que lo trabaje y modifique se vera en la obligacion moral de postear sus cambios (por favor).

Version 1.5.1 (en esta version la he probado y no tengo idea si trabaja en las otras).

Archivos que se modificaran, no se asusten que es lo mas minimo que he visto >:D .

catalog/controller/product/category.php
catalog/view/theme/SU_TEMA/template/product/category.tpl

En catalog/controller/product/category.php agregar esto exactamente igual (no cambien nada hasta despues que lo prueben, veran que los lleva al carro de compras de una vez y si el cliente quiere seguir comprando oprime el boton de seguir comprando y lo devuelve al lugar de donde vino.

Insertar este codigo:

$this->data['action'] = $this->url->link('checkout/cart');
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$this->data['redirect'] = HTTP_SERVER . 'index.php?route=product/category&path=' . $this->request->get['path'] . $url;

Antes de

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {

En catalog/view/theme/SU_TEMA/template/product/category.tpl hacer estos cambios

Comentar esta linea de Codigo:

<div class="cart"><a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button"><span><?php echo $button_cart; ?></span></a></div>

Y sustituirla por:

<div class="cart">
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="product_<?php echo $product['product_id']; ?>">
<div style="display: inline; text-align: center;">
<?php echo $text_quantity; ?>&nbsp;<input type="text" name="quantity" size="3" value="1" />
<a onclick="$('#product_<?php echo $product['product_id']; ?>').submit();" class="button"><span><?php echo $button_cart; ?></span></a>
<input type="hidden" name="product_id" value="<?php echo $product['product_id']; ?>" />
<input type="hidden" name="redirect" value="<?php echo str_replace('&', '&amp;', $redirect); ?>" />
</div>
</form>
</div>

Saludos y me deben un balde de cerveza

Answers

mooooy bueno! para hacer con los atributos ya habría que pensar algo como un "quick view" (http://www.zappos.com/womens-shoes~1i7) esta interesante...

Eres un genio , dios , ídolo jajajaja , gusto necesitaba con urgencia poder hacer eso. muchas pero muchas gracias amigo .
tengo una pregunta, seria posible que al agregar al carro no te saque de esa pagina??? osea que no te lleve a la pagina del carro?

saludos y gracias nuevamente.

fraglive wrote:Eres un genio , dios , ídolo jajajaja , gusto necesitaba con urgencia poder hacer eso. muchas pero muchas gracias amigo .
tengo una pregunta, seria posible que al agregar al carro no te saque de esa pagina??? osea que no te lleve a la pagina del carro?

saludos y gracias nuevamente.


Cuando se me mete algo en la cabeza, no puedo estar en paz, estaba pensando en tu solicitud anoche y me puse a revisar unas cosas y encontre entre mis montones de cosas que tengo un codigo de Fido-x el autor inicial de esto, lo unico que hice fue adaptarlo, era para la version 1.3x no recuerdo, me acoste a las 3am terminando y probando, lo bueno es que tenemos la base y de que sí se puede hacer, ahora lo que queda es perfeccionarlo, pero eso se lo dejo a otros maestros que estan en este foro que son muy buenos debido a que yo no uso productos sin opciones, todos mis productos llevan muchisimas, aunque a como escribi arriba es posible hacerlo para las cosas con un simple if.

Si tiene opciones
......salta esta modificacion y sigue su proceso normal del OC (entrar a la pagina del producto)
En caso contrario
......Aplica esta modificacion
Fin del SI

Y Cofran esta buena tu idea de hacer lo mismo para otra cosa (quick view) con un mouseover.

Cofran recien acabo de entrar a la pagina que pusistes el enlace, esta muy linda y a como dices el quickview esta muy bonita, en ese caso si podria yo usar ese tipo de modificacion, me asusto porque en el popup del quickview no esta la cantidad del producto pero lo complementas cuando llegas al carro de compras, tal y como lo tenemos ahora.

fraglive mira este enlace y veras la importancia de llegar al carro (en este caso especifico).

Por otro lado no quiero comenzar a buscar, me siento un poco cansado, mi nueva bebe (1 semana) no me deja dormir, necesito que alguien me explique como poner una imagen watermark a un producto, o como se utiliza la funcion interna del OC, por favor.

pero esta funcionando lo de la marca de agua?

Según la librería de imagenes es:

cargas la librería "image"

por acá viene la imagen
$this->image->watermark('path_imagen_agua', 'posición')

posiciones:

'topleft'
'topright'
'bottomleft'
'bottomright'

ni lo probe, en un rato confirmo si anda

cofran wrote:mooooy bueno! para hacer con los atributos ya habría que pensar algo como un "quick view" (http://www.zappos.com/womens-shoes~1i7) esta interesante...



En verdad esta muy bueno eso del quick view.

No me esta funcionando el codigo , me aparece la casilla para cantidades, el boton para agregar al carro , pero no hace nada . ¿ que cosa estoy haciendo mail?

Code: Select all
       <div class="s_actions">
              <?php if ($products[$i]['price']): ?>
              <div class="cart">
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="product_<?php echo $product['product_id']; ?>">
<div style="display: inline; text-align: center;">
<?php echo $text_quantity; ?>&nbsp;<input type="text" name="quantity" size="3" value="1" />
<a onclick="$('#product_<?php echo $product['product_id']; ?>').submit();" class="button"><span><?php echo $button_cart; ?></span></a>
<input type="hidden" name="product_id" value="<?php echo $product['product_id']; ?>" />
<input type="hidden" name="redirect" value="<?php echo str_replace('&', '&amp;', $redirect); ?>" />
</div>
</form>
</div>
           <!--   <a class="s_button_add_to_cart" href="javascript:;" onclick="addToCart('<?php echo $products[$i]['product_id']; ?>');">-->
                <span class="s_icon_16"><span class="s_icon"></span><?php echo $button_cart; ?></span>
              </a>
              <?php endif; ?>
              <a class="s_button_wishlist s_icon_10" onclick="addToWishList('<?php echo $products[$i]['product_id']; ?>');"><span class="s_icon s_add_10"></span><?php echo $button_wishlist; ?></a>
              &nbsp;
              <a class="s_button_compare s_icon_10" onclick="addToCompare('<?php echo $products[$i]['product_id']; ?>');"><span class="s_icon s_add_10"></span><?php echo $button_compare; ?></a>
            </div>

celestial wrote:ADVERTENCIA para tiendas en las cuales los productos NO TIENEN OPCIONES (porque los pasaría por alto), posteriormente podriamos hacerle modificacion para esto y algunas mejoras. El que lo trabaje y modifique se vera en la obligacion moral de postear sus cambios (por favor).

Version 1.5.1 (en esta version la he probado y no tengo idea si trabaja en las otras).

Archivos que se modificaran, no se asusten que es lo mas minimo que he visto >:D .

catalog/controller/product/category.php
catalog/view/theme/SU_TEMA/template/product/category.tpl

En catalog/controller/product/category.php agregar esto exactamente igual (no cambien nada hasta despues que lo prueben, veran que los lleva al carro de compras de una vez y si el cliente quiere seguir comprando oprime el boton de seguir comprando y lo devuelve al lugar de donde vino.

Insertar este codigo:

$this->data['action'] = $this->url->link('checkout/cart');
if (isset($this->request->get['page'])) {
$url .= '&page=' . $this->request->get['page'];
}
$this->data['redirect'] = HTTP_SERVER . 'index.php?route=product/category&path=' . $this->request->get['path'] . $url;

Antes de

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {

En catalog/view/theme/SU_TEMA/template/product/category.tpl hacer estos cambios

Comentar esta linea de Codigo:

<div class="cart"><a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button"><span><?php echo $button_cart; ?></span></a></div>

Y sustituirla por:

<div class="cart">
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="product_<?php echo $product['product_id']; ?>">
<div style="display: inline; text-align: center;">
<?php echo $text_quantity; ?>&nbsp;<input type="text" name="quantity" size="3" value="1" />
<a onclick="$('#product_<?php echo $product['product_id']; ?>').submit();" class="button"><span><?php echo $button_cart; ?></span></a>
<input type="hidden" name="product_id" value="<?php echo $product['product_id']; ?>" />
<input type="hidden" name="redirect" value="<?php echo str_replace('&', '&amp;', $redirect); ?>" />
</div>
</form>
</div>

Saludos y me deben un balde de cerveza

Thank your guide. How can I leave it to work on the home page?

Prueba este cambio:

$this->data['action'] = $this->url->link('checkout/cart');

Pasarlo a

$this->data['action'] = $this->url->link('common/home');

This error is found

Code: Select all
PHP Notice:  Undefined index: path in E:xampphtdocsv1.5.1.1catalogcontrollermodulelatest.php on line 70
PHP Notice:  Undefined variable: url in E:xampphtdocsv1.5.1.1catalogcontrollermodulelatest.php on line 70

For the line:

Code: Select all
$this->data['redirect'] = HTTP_SERVER . 'index.php?route=product/category&path=' . $this->request->get['path'] . $url;

Hola: implementado tus cambios, la cantidad de producto en Categoria no aparece, pero si hace que cuando le das a comprar un producto te redirige al carro.

Un saludo

adfinco wrote:Hola: implementado tus cambios, la cantidad de producto en Categoria no aparece, pero si hace que cuando le das a comprar un producto te redirige al carro.

Un saludo


Revisa bien tu codigo porque este está probado que funciona.

Hola, disculpa mi ignorancia, pero no entiendo de qué se trata.. podrias explicarme por favor?

Gracias, esto funciona perfectamente.

Me preguntaba si usted podría decirme cómo permanecer en la misma página una vez que haya hecho clic en el "agregar a la bolsa" botón. Estoy tratando de mantener la funcionalidad de la misma que la demo OpenCart original. Cuando se agrega un producto a la bolsa sólo se añade en la cabecera de la sección "bolsa de la compra", pero no se redirige a una página diferente.

Cualquier ayuda sería muy appriciated.

gracias

ShibbyFly wrote:Gracias, esto funciona perfectamente.

Me preguntaba si usted podría decirme cómo permanecer en la misma página una vez que haya hecho clic en el "agregar a la bolsa" botón. Estoy tratando de mantener la funcionalidad de la misma que la demo OpenCart original. Cuando se agrega un producto a la bolsa sólo se añade en la cabecera de la sección "bolsa de la compra", pero no se redirige a una página diferente.

Cualquier ayuda sería muy appriciated.

gracias


Trata quitando esta linea a ver que pasa, me avisas por favor:

<input type="hidden" name="redirect" value="<?php echo str_replace('&', '&amp;', $redirect); ?>" />

celestial wrote:
ShibbyFly wrote:Gracias, esto funciona perfectamente.

Me preguntaba si usted podría decirme cómo permanecer en la misma página una vez que haya hecho clic en el "agregar a la bolsa" botón. Estoy tratando de mantener la funcionalidad de la misma que la demo OpenCart original. Cuando se agrega un producto a la bolsa sólo se añade en la cabecera de la sección "bolsa de la compra", pero no se redirige a una página diferente.

Cualquier ayuda sería muy appriciated.

gracias


Trata quitando esta linea a ver que pasa, me avisas por favor:

<input type="hidden" name="redirect" value="<?php echo str_replace('&', '&amp;', $redirect); ?>" />


Se ha eliminado la línea, pero todavía dirige a la página de carrito de compras.

Creo que el problema podría ser con el código en el archivo. Php, pero no puedo encontrar una solución

Mira hoy, mañana o pasado mañana y a mas tardar el viernes sale la nueva version 1.5.2, ahorita estoy metido de cabeza en eso, voy a revisar y probar este codigo en cuanto tenga un tiempo libre porque tambien yo la voy a usar, si me das un tiempo te ayudo.

Prueba esto otro

esta linea
$this->data['action'] = $this->url->link('checkout/cart');

dejarla como
$this->data['action'] = "";

Y esta otra
$this->data['redirect'] = HTTP_SERVER . 'index.php?route=product/category&path=' . $this->request->get['path'] . $url;

Dejarla como
$this->data['redirect'] = "";

Esto es en el controller y en el product.tpl dejarlo igual al original

<div class="cart">
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="product_<?php echo $product['product_id']; ?>">
<div style="display: inline; text-align: center;">
<?php echo $text_quantity; ?>&nbsp;<input type="text" name="quantity" size="3" value="1" />
<a onclick="$('#product_<?php echo $product['product_id']; ?>').submit();" class="button"><span><?php echo $button_cart; ?></span></a>
<input type="hidden" name="product_id" value="<?php echo $product['product_id']; ?>" />
<input type="hidden" name="redirect" value="<?php echo str_replace('&', '&amp;', $redirect); ?>" />
</div>
</form>
</div>


Pudimos haber dejado el form action= "" y eliminar la linea <input type="hidden" name="redirect" value="<?php echo str_replace('&', '&amp;', $redirect); ?>" /> que son los que redireccionan pero mejor dejarlo asi por si mas adelante se quiere redireccionar hacia otro lugar

Gracias, he hecho los cambios, pero todavía no puede conseguir que funcione.

Cuando cambie esta línea
$this->data['action'] = $this->url->link('checkout/cart');

Para esta línea
$this->data['action'] = "";

Yo trato de agregar un producto a mi cesta de la compra y no pasa nada ahora. No hace nada y dice que mi bolsa de la compra está vacía.

Reply Or Comment!
Please LogIn to Reply!