Page 1 of 1

Cart content sturen naar Formbuilder probleem

Posted: Tue Oct 14, 2008 10:48 am
by wietster
Hallo CMSMSers,

Ik wil graag dat de cart module de cart content stuurt via formbuilder als er op verzenden wordt gedrukt dus zonder orders module.
Alleen ik heb geen idee hoe dat moet en ik kan ook niks vinden op het forum.

Ik weet dat ik een UDT moet maken alleen hoe? ??? ???

Ik gebruik cmsms 1.41

Products
Cart
Formbuilder


http://autoplaza-hotwheels.nl/index.php ... inkelwagen

Al vast bedankt voor de moeite
Met vriendelijk groeten

Wietster

Re: Cart content sturen naar Formbuilder probleem

Posted: Thu Oct 16, 2008 1:23 pm
by wietster
Hallo,

Niemand heeft een idee om dit op telossen

Het lijkt wel of er op vragen over de Cart,product,order modules gewoon nooit antwoord word gegeven

Bedankt

Wietster

Re: Cart content sturen naar Formbuilder probleem

Posted: Thu Oct 16, 2008 7:46 pm
by wietster
hallo SvenA


Bedankt voor je reactie.

De normale werking van Cart,Producten en orders werkt goed alleen de website verkoop auto's en dan is het een beetje overkill om zoveel temoeten in vullen als potentiele klant.

En als ik de cart content kan "ophalen" met  de CGSimpleSmarty module  en door sturen naar formbuilder en die mail het dan weer door naar een email adres

Het staat ook meerdere keren op het forum dat het zo moet alleen staat het nooit uitgelegd het word alleen gezegd je moet de cart content oproepenen alleen heb ik  geen idee waar ik die regel met code moet neer zetten.

dit is de code {$cgsimple->get_page_content($cgsimple->get_root_alias(),winkelwagen)}

alleen waar o waar moet het worden geplaatst



Wietster

Re: Cart content sturen naar Formbuilder probleem

Posted: Sat Oct 18, 2008 12:51 pm
by Dee
Ben even wat aan het proberen geweest, maar krijg het niet voor elkaar met CGSimpleSmarty en FormBuilder...
Met wat aanpassingen aan de Cart module lukt het wel:

Stap 1: maak een knop om te bestellen

action.viewcart.php rond regel 130 na

Code: Select all

// stop here
$smarty->assign('subtotal_text',$this->Lang('subtotal'));
toevoegen:

Code: Select all

$smarty->assign('mod_id', $id);
Cart Viewcart Form Template toevoegen (ergens onderaan):

Code: Select all

<input type="submit" name="{$mod_id}cart_order" value="Bestel" />
Stap 2: vang verstuurde bestelling op

action.viewcart.php rond regel 58

Code: Select all

// Expand the cart
if( isset($params['cart_adjust']) )
veranderen in

Code: Select all

// Expand the cart
if( isset($params['cart_adjust']) || isset($params['cart_order']))
action.viewcart.php rond regel 88 na

Code: Select all

 // re-package the cart
    $this->SetItems($newitems);
toevoegen:

Code: Select all

$parms = array();
    if (isset($params['cart_order']))
    {
        $parms['order_submit'] = TRUE;
    }
de regel erna:

Code: Select all

$this->RedirectContent($returnid);
veranderen in:

Code: Select all

 $this->Redirect($id, 'viewcart', $returnid, $parms);
Wat dit doet is de browser terugsturen naar dezelfde pagina met een extra parameter 'order_submit' zodat eventuele wijzigingen in de aantallen in het formulier ook worden meegenomen.

Stap 3: de nieuwe 'order_submit' parameter toevoegen aan de module

Cart.module.php regel 218 na

Code: Select all

$this->SetParameterType(CLEAN_REGEXP.'/cart_.*/',CLEAN_STRING);
toevoegen:

Code: Select all

$this->SetParameterType('order_submit', CLEAN_INT);
Stap 4: Als de 'order_submit' parameter aanwezig is het formulier/de mail versturen

action.viewcart.php rond regel 142 na

Code: Select all

if( isset($params['viewcarttemplate'] ) )
  {
    $thetemplate = 'viewcartform_'.$params['viewcarttemplate'];
  }
toevoegen:

Code: Select all

if (isset($params['order_submit']))
{
    $cart_content = $this->ProcessTemplateFromDatabase($thetemplate);
    $cmsmailer = $this->GetModuleInstance('CMSMailer');
    $cmsmailer->AddAddress('waarnaartoe@domein.com','afzendernaam');
    $cmsmailer->SetBody('<h4>Bestelling</h4>' . $cart_content);
    $cmsmailer->IsHTML(true);
    $cmsmailer->SetSubject('Webshop order');
    $cmsmailer->Send();
    $smarty->assign('order_submitted', TRUE);
}
De {$order_submitted} variabele kun je in de template gebruiken om bijvoorbeeld een bevestiging te tonen.
Ook zul je nog iets moeten verzinnen/toevoegen om te weten van wie de bestelling afkomstig is...

Grtz,
D

Re: Cart content sturen naar Formbuilder probleem

Posted: Sat Oct 18, 2008 1:33 pm
by Dee
wietster wrote: dit is de code {$cgsimple->get_page_content($cgsimple->get_root_alias(),winkelwagen)}

alleen waar o waar moet het worden geplaatst
Ik denk dat het de bedoeling is dat je de code ergens in het formulier template van een bestelformulier zet.
Bijvoorbeeld get_page_content('winkelwagen')}"> geprobeerd, maar krijg dan wel de inhoud van de "winkelwagen" pagina, maar "kaal"/niet geparsed door Smarty: {Cart action='viewcart'}">