Es simple
Using perl Syntax Highlighting
- package PerlEasyCart;
- use strict;
- use warnings;
- use CGI::Session;
- our $VERSION = '0.01000_13';
- my $session = new CGI::Session();
- use vars qw($VERSION @EXPORT);
- require Exporter;
- @EXPORT = qw(
- addItem
- items
- );
- sub new{
- my ($class, @args) = @_;
- my $self = {};
- bless $self, $class;
- return $self;
- }
- sub addItem{
- my ( $self, $id, $cantidad ) = @_;
- #my $hash = $session->param('productos');
- #$hash->{$id} = $cantidad;
- $session->param('prd-'.$id,$cantidad);
- $session->flush();
- return 1;
- }
- sub items{
- my $it = $session->param('id');
- return $it;
- }
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
Y lo llamo desde un script pero no me actualiza la session cuando lo llamo desde mi otro script.
Básicamente la línea esta:
Using perl Syntax Highlighting
- sub addProducto{
- $self = new CGI;
- my $cart = new PerlEasyCart;
- $template = HTML::Template->new(filename => 'admin/plugins/ShoppingCart/templates/confirmacion-compra.tmpl');
- $session->param('prd-'.$q->param('id-producto'), '4');
- $cart->addItem("prd-".$q->param('id-producto'),'1');
- $template->param(COMFIRMARCOMPRA => 1);
- return $template->output;
- }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
$session->param('prd-$q->param('id-producto')', '4'); si me agrega el producto a la session, pero $cart->addItem("prd-".$q->param('id-producto'),'1'); no lo hace...
La verdad, tengo una solución, pero no me queda tan claro porque el de pasar esto, no soy bueno digamos en trabajar con mis propios módulos en Perl, ya que rara vez toca hacer uno, siempre existe uno mejor, ¡ja,ja,ja! ^^
Luego otra función llamo y hago un Dumper:
Using perl Syntax Highlighting
- sub cerrarSession{
- #$session->delete();
- #$session->flush();
- #$session->param('productos', "sdsdsdsdsds");
- return "<pre>". Dumper $session;
- }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Bueno, cabe decir que antes del script que llama el módulo PerlEasyCart tengo:
Using perl Syntax Highlighting
- package ShoppingCart;
- use Data::Dumper;
- use CGI::FormBuilder;
- use Config::Auto;
- use Data::Pagination;
- use CGI::Session;
- use PerlEasyCart;
- $q = new CGI;
- my $cfg;
- my $dbh;
- my $session = new CGI::Session();
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4