Jag är i behov av lite tips. Låt säga att jag har två typer av "kunder". En betalande och en gratis. Den betalande kunden har möjlighet att presentera extra information i sin nod, tex en presentation medan gratiskunden har begränsad möjlighet.
För enkelhetens skull så kan vi säga att det är telefonnummer och adress.
--Gratis--
Telefon
Adress
--Betalande--
Telefon
Adress
Presentation
Bilder
Fundering 1. Låt säga att en betalande kund går över till gratis. Då vill man ju släcka ner all extrainformation utan att för den delen radera innehållet. Ska man lösa det med diff, radera viss information och behålla kunden i samma innehållstyp?
Hur kan jag släcka ner viss information genom att bara ändra flaggan "Kund" till "Icke kund".
Jag fick ett förslag att ha två innehållstyper och konvertera emellan men det känns inte alls rätt.
Fundering 2. Viss information är statisk såsom tex adress och telefonnummer och jag skulle vilja behålla dessa i separata fält för att kunna uppdatera dessa automatiskt. Det är inget problem att få ut dessa fält på ett snyggt sätt. Men vissa kunder vill dock formaterar sina egna uppgifter i presentationen istället.
Har någon förslag på hur man skulle kunna lösa det utan att få ut dubbel information från en och samma innehållstyp och utan att man raderar adressfälten.
Hälsningar
/Jah D7
Comments
Tror att detta går att göra
Tror att detta går att göra på oändligt många sätt :)
Spontant och enkelt. Lägg till alla fälten i noden. Låt användaren lägga in alla alltid om han vill.
Ha två oliak roller, gratis, betalande och slå på och av dem antingen själv eller autmatiskgt med olika regler. Kanske denna modul? http://drupal.org/project/role_expire
Ändra i template filen för din node och kolla ägarens av nodens roll innan du visar upp fälten för betalande.
node--<machine name content type>.tpl.phpSkall ligga i templates katalogen i ditt tema (glöm inte tömma cache efter du lagt den där)
//
Niklas Nilsson, PiJa Media & Management AB
Apputvecklare, iPhone, Android och HTML5 - PiJa din apputvecklare!
Jag skulle nog precis som
Jag skulle nog precis som Niklas ändra i temat för att dölja de fields som inte skall synas. Mer propert skulle vara att sköta logiken med en theme preprocess funktion i template.php och genom denna nollställa fälten innan visning. Exakta detaljer om detta beror på vilken version av Drupal du kör och samtliga finns beskrivna i dokumentationen på drupal.org.
På så sätt finns gammal data kvar i fallet betalande -> gratis -> betalande.
Du kan dölja de fält som är beroende på gratis/betalande roll med http://drupal.org/project/field_permissions som ger rättigheter per field per roll. Se till att Betalande har edit rättigheter för de berörda fälten och att Gratis inte har det. Då syns de inte ens för Gratis.
Hoppas att det löser sig.
Viktor Gerdin
Web Developer
Tänkte också på Field
Tänkte också på Field Permissions. Det borde räcka med att installera den och ge dina betalanda användare en egen roll.
//Pontus Nilsson, Digitalist
Japp!
Bara för att förtydliga. Field Permission tar inte bort innehåller eller avlistar det från besökare utan endast ser till så att användaren inte kan fylla i om han inte har rättigheterna.
Rent affärsmässigt hade jag valt att alltid visa upp fälten för din kund så ser han vad han går miste om, om han inte betalar. Sen kanske gruppera betalfälten och skriva en text högst upp som berättar att det bara visas upp om man betalar. Det går att göra med modulen field groups.
//
Niklas Nilsson, PiJa Media & Management AB
Apputvecklare, iPhone, Android och HTML5 - PiJa din apputvecklare!
Tack för värdefulla tips. Jag
Tack för värdefulla tips.
Jag var inne på att sköta det med roller, men snöade in på tänket att rollen mer styr vilka som får se, mer än vad som visas. Och eftersom det till 95% är icke inloggade så fastnade jag där.
Jag kommer testa era förslag
Tack