Jeg sidder i en opgave hvor jeg har brug for at brugeren kan købe adgang til at lægge et stykke kontent op.
Det drejer sig kort sagt om en side hvor man kan annoncere, og det skal så naturligvis være muligt at købe mulighed for at publisere x antal annoncer på siden.
Jeg har prøvet at dykke lidt ned i Ubercart, og kan se, at man kan købe roles, - men de er tidsbestemt, og her skal jeg på en eller anden måde have det bestemt af om brugeren har brugt det antal annoncer han har købt. Jeg kan selvfølgelig gå igang med at 'hacke' selve Ubercart, men er der en løsning der ligger mere til højrebenet?
bjaxelsen
12. maj 2010 - 14:09
Permalink
Workflow modul
Jeg ved ikke lige, om der er nogen nem måde at gøre det på.
En mulighed kan være:
1) Opret et systemfelt i brugerprofilen med hvor mange publiceringer, brugeren har betalt for.
2) Lav annoncekøbsmulighederne som varer i Ubercart.
3) Når køb bliver gennemført, laver du en conditional action, som tjekker om kunden har købt annoncer, og som sørger for at justere feltet i brugerprofilen.
4) Brug modulet Workflow til at håndtere publicering af annonce, således at brugeren kan skrive en kladde, men først publicere, når brugeren har rettighed til det.
5) Workflow har forskellige hooks, bl.a. en som aktiveres før skift af workflow-status. Den kan du bruge til at tjekke, om brugeren har ret til at publicere sin annonce. Ligeledes kan du bruge an af modulets hooks til at sørge for at du får justeret, hvor mange annonceringer, brugeren har tilbage. Jeg har ikke lige helt styr på Workflow-modulet, men kan se, at det kan lade sig gøre på den ene eller anden måde.
Vh Bjørn
Morten Najbjerg
12. maj 2010 - 14:30
Permalink
Er det sikkert nok?
Hej Bjørn
Tusind tak for dit svar - så var jeg alligevel lidt på rette kurs. Jeg vil prøve at dykke ned i det. Og tak for tippet med Workflow modulet - det har jeg ikke haft kigget på.
Morten Najbjerg
3. juni 2010 - 17:50
Permalink
Problemer med eksekvering af PHP kode
Efter en længere pause er jeg nu tilbage på denne opgave, og er ved at prøve det af du skriver Bjørn. Det er helt sikkert løsningen, men jeg oplever en underlig fejl når jeg bruger Conditional actions. Jeg har denne kode i 'Execute Custom PHP Code' feltet:
user_save($account, array('profile_numads' => (int)$account->profile_numads+(int)$order->product_count));Den skulle tjekke hvad brugerfeltet er på nu, og opdatere det i forhold til det antal produkter der er købt. Det er stadig meget basic og i testfasen. Problemet er at feltet altid opdateres til '100'. Ændrer jeg så koden tiluser_save($account, array('profile_numads' => (int)$account->profile_numads+(int)$order->product_count)); exit;...hvor jeg breaker scriptet, så virker det perfekt og feltet opdateres korrekt. Har du nogen erfaring med dette?Morten Najbjerg
7. juni 2010 - 9:46
Permalink
njaaa... ok
Tja...ok - jeg fandt selv en løsningen, efter at have bakset rundt med de i små 10 timer... Jeg gav op, - installerede hele skidtet igen, og så kørte det uden problemer :/
bjaxelsen
11. juni 2010 - 13:53
Permalink
Fint
Nå ok - ja, jeg kan ikke lige gennemskue, hvorfor det kun fungerede, hvis du breakede det - burde ikke være nødvendigt.