Tjena!
Lite ny här så vi får se hur detta går.
Jo det är så att jag sitter och jobbar med en sida där tanken är att jag ska ha två typer av roller, en roll1 och en roll2.
Dessa roller ska ha olika registreringssidor. Detta har jag lyckats skapat med hjälp av Profile2.
Så nu har jag om man skriver user/register/roll1 så får jag upp ett registreringsformulär och skriver jag user/register/roll2 så får jag upp ett annat.
Detta är för att det är två helt olika typer av användare. En som vill visa upp sig och en som vill beskåda med det lilla extra utöver vad gäster kan se.
Men nu till problemet. Hur kan jag få så att efter att man registrerat sig genom länken user/register/roll1 får roll1 som behörighet? Och samma sak med roll2.
Lyckades med detta vid ett tillfälle men vet inte hur för nu fungerar det inte längre.
Vet att man kan ställa in så att användarna för behörigheten automatiskt efter registrering men det går bara att ange en roll för alla som registrerar sig, eller har jag missat något?
När vi ändå pratar detta med länkar och registreringar.
Någon som har koll på hur man kan modifiera inloggningsmodulen så att istället för att det står typ "Registrera dig här" så vill jag ha dels att det står "Registrerar dig som roll1", men också att det ska tillkomma en rad till där det står "Registrera dig som roll2" och då ska dessa länkar gå till de länkar jag skrev tidigare. Har inte själv lyckats hittat något specifikt ställa man ska ändra på sånt i alla .php filer. Någon som kan slänga mig åt rätt håll var man ska börja leta? :)
Hoppas jag varit tillräckligt tydlig med vad jag vill åstadkomma här :)
Edit: Kan ju tillägga att jag använder version 7.12 av Drupal.
Comments
svar få din första fråga..
svar få din första fråga: du kan antagligen lösa det med hjälp av Rules http://drupal.org/project/rules
Auto Assign Role http://drupal.org/project/autoassignrole för D7 är fortfarande under utvecklingsstadiet
din andra fråga om länkar förstod jag inte riktigt vad det är du vill, du fick något väldigt enkelt att låta krångligt... Men kanske kan du använda Translate interface -> Sök ... och söka på "Registrera dig här" och sedan skriva om den svenska texten
<a href="@register">Registrera dig här</a>till vad du vill att det ska vara1 Har försökt använda mig
1
Har försökt använda mig utav Rules, men jag har inte lyckats få till så att det ska förstå att när man varit inne på länk #1 så får man roll1 och när man varit inne på länk #2 så får man roll2 efter avslutad registrering. Kan vara att jag är helt ute och snurrar, men det känns som att jag vill någonstans kunna fylla i adressen för hur han ska bete sig och ange en roll.
Auto Assign roles: Aha okej, men har det fungerat med den tidigare? För den kan ju idag enbart göra så att man får en viss behörighet efter avslutad registrering, men då får alla samma behörighet alt. så ska man kunna kryssa i vilken behörighet man har, men jag vill ju inte att en som registrerar sig för roll1 ska kunna välja roll2 då det är helt skilda funktioner osv.
Edit: Kan tillägga att i Profile2 senaste version som kom i början av februari så finns nu möjligheten att få en specifik roll tilldelad i samband med registreringen. Trots att jag valt att köra uppdateringar ett fler tal gånger tidigare ikväll så var det inte fören nu som det dök upp att det fanns en ny uppdatering.
Så spontant så verkar mitt första bekymmer vara löst :)
2
Förlåt, menade bara att jag vill ändra om i texterna och länkarna som är i login modulen. Samt utöka med en länk till.
Idag så finns dessa två länkar i login modulen:
Skapa nytt konto
Begär nytt lösenord
Vill ha följande typ:
Skapa nytt konto 1
Skapa nytt konto 2
Begär nytt lösenord
Och då även länka om första länken från dagens http://localhost/Drupal/user/register
till http://localhost/Drupal/user/register/roll1
Som jag lyckats skapa genom Profile2 med ett unikt registreringsformulär för just den användartypen.
Skapa två nya menyval som
Skapa två nya menyval som länkar till de olika registreringssidorna.
http://drupal.org/documentation/modules/menu
Men jag vill ju inte ha ännu
Men jag vill ju inte ha ännu ett till meny block. Vill ju korrigera den befintliga inloggningsrutan.
Visst det går ju att göra som du säger men då kommer jag ju ha kvar den gamla länken i login modulen som inte borde användas för den leder till en felaktig registreringssida och så får jag två länkar i en helt ny meny.
Snyggast är ju att ha allt sammanhängande i samma ruta, dvs inloggningsfält, registreringslänkar och glömt lösenordet länk.
länkar
<a href="@register">Registrera dig här</a>kan du ju skriva om till vad du vill t ex<a class="role1" href="@register">Skapa nytt konto1</a><a class="role1" href="other_link">Skapa nytt konto2</a>alternativet är kanske att skapa en egen custom form modul
Fast var hittar jag den biten
Fast var hittar jag den biten då? Vilken fil? Är det i en fil som det ska justeras eller går det genom admin sidan eller ska det vara i databasen?
Det är svårt att göra en ändring om man inte ens hittar var man kan göra den. Lite det jag är ute efter.
Innan du fortsätter mer, det
Innan du fortsätter mer, det är ett tankesätt som du behöver anamma för att sätta upp en drupalsida:
Man redigerar inga filer. Man lägger till moduler och/eller teman som endera är från contrib eller egenskrivna. Det är bara i de filerna man själv lagt till i form av eget tema eller modul man redigerar. Resten ska man sköta med inställningar.
En metod som funkar iaf i D6
En metod som funkar iaf i D6 är att du skapar ett nytt block - markera 'PHP code'-rutan som input format och i block body textfältet skriver du:
<div class="luggen_login"><?php
$block = module_invoke('user', 'block', 'view', 'login');
print $block['content'];
?>
<a class="role1" href="/link1">Skapa nytt konto 1</a>
<a class="role2" href="/link2">Skapa nytt konto 2</a>
</div>
I D7 ändra
$block = module_invoke('user', 'block', 'view', 'login');print $block['content'];
till
$block = module_invoke('user', 'block_view', 'login');print render($block);
Därtill lägger du till i din css-fil i temamappen, exempelvis
div.luggen_login { }div.luggen_login form div.item-list ul {
list-style:none;
padding:0;
}
div.luggen_login form div.item-list ul li {
list-style:none;
}
div.luggen_login form div.item-list ul li.first {
display:none;
}
div.luggen_login a.role1,
div.luggen_login a.role2 {
display:block;
}
Återkom gärna med svar om detta löste ditt problem
Den skapade en ny modul,
Den skapade en ny modul, identisk med den tidigare fast med två nya länkar under "Logga in" knappen.
Min önskan är nu egentligen bara att "Skapa nytt konto" som verkar följa med ska försvinna och ersättas med de två nya länkarna.
Så här ser det ut:
http://images.hamsterpaj.net/photos/full/75/378607.jpg
css
Du kan ju försöka fixa utseende och position med hjälp av css (se förslag ovan)
Re:css
I så fall måste jag ha gjort något fel där.
<link href="inloggning.css" rel="stylesheet" type="text/css">
<div class="luggen_login">
<?php
$block = module_invoke('user', 'block_view', 'login');
print render($block);
?>
<a class="role1" href="/link1">Skapa nytt konto 1</a>
<a class="role2" href="/link2">Skapa nytt konto 2</a>
</div>
Hur borde länkningen till CSS se ut i detta fall?
Skallen är helt tom på denna bit, var ett tag sen senast. Försökt kolla runt på webdesignskolan men hittade inget som riktigt hjälpte mig i rätt riktning mer än det ovan.
Du ska inte ha med någon CSS
Du ska inte ha med någon CSS länk i blockets textfält. CSS är något du gör i din CSS-fil som troligtvis har namnet 'style.css' och det normala är att du skapat/skapar en tema mapp (/sites/all/themes/ditt-tema-namn/) i vilken dina egengjorda ändringar hör hemma.
Jag är dålig på att förklara detta för dig (antar att du är helt ny på Drupal) på ett bra pedagogiskt sätt och hoppas att någon annan här på forumet kan förklara för dig hur man strukturerar grejer i Drupal.
PS. Ang din bild så borde väl alla länkarna hamna under login knappen.
Jag är väldigt glad att du
Jag är väldigt glad att du tar dig tid med mina frågor :)
Jo är rätt ny, har väl pillat på det till och från i typ ett halv års tid nu men inte lyckats sätta mig ner med det riktigt.
Det om tema mappen hade jag ingen aning om, var inne i /themes och pillade enbart med mina filer så det var kanske där då.
Men jag kör nu med temat Garland, ska jag då även döpa mappen till Garland i "/sites/all/themes/"?
Men är drupal uppbyggt så att han ska känna av alla css filer som skapas i olika mappar? Menar, det känns ju som att jag borde ju hänvisa min kod som jag skapade i blocket till en viss CSS mall, dvs den som ligger i /sites/all/themes/.
Ang bilden:
Fast dom två andra länkarna är typ med från grunden genom den kod du gav mig, dvs någonstans i
<?php$block = module_invoke('user', 'block_view', 'login');
print render($block);
?>
så hämtas dom två länkarna som är ovanför "Logga in" knappen.
Finns dokumentation om detta
Finns dokumentation om detta på drupal.org läs t ex http://drupal.org/node/196007