Sökfunktionen i Drupal 7 core

Events happening in the community are now at Drupal community events on www.drupal.org.
LenaM's picture

Jag har använt mig av sökfunktionen i 7an som är core på en hemsida och får den inte att fungera fullt ut.
Den visas alltid i högerkanten på sidan och när man söker där så får man till svar "Din sökning gav inget resultat" och så kommer man till en sida med en sökfunktion högst upp. Skriver man nu in samma ord så får man träffar.
Jag har varit inne och titta i kodbilden och ser att den ser inte lika ut för de olika rutorna. I den första sökfunktionen ser formtaggen ut så här:
<form action="/" method="post" id="search-block-form" accept-charset="UTF-8"><div><div class="container-inline">
och i den andra (den som fungerar) ser det ut så här:
<form class="search-form" action="/search/node" method="post" id="search-form" accept-charset="UTF-8">
Nu är min fråga är det någon som vet var jag ändrar så att jag får den första att fungera på samma sätt som den andra?
//Lena

AttachmentSize
skärmdump-admin-block.jpg36.85 KB
skärmdump-besökare.jpg32.92 KB
-info.txt1.29 KB
page-tpl-php.txt4.06 KB

Comments

Bäddade in din HTML-kod med

magnus's picture

Bäddade in din HTML-kod med <code> för att vi skall kunna se vad du menar.

Vad använder du för tema? Är det som inloggad användare du provat att göra sökningen?

Temat jag använder är talata

LenaM's picture

Temat jag använder är talata och jag har provat att sökt både som inloggad administratör, inloggad användare och oinloggad.
Du får gärna testa själv. Sidan jag bygger heter www.estelle.se. Skriv tex stella i sökrutan och testa sedan sökruta 2.

Har du provat med något tema

magnus's picture

Har du provat med något tema som ingår i Drupals kärna?

Lägg in uppgifter och pröva

göran's picture

Lägg in uppgifter och pröva och kör "Kör schemalagda aktiviteter" under Hem » Administration » Konfiguration » System

Gör därefter en sökning.

// Göran

Tänkte på en sak till - kolla

göran's picture

Tänkte på en sak till - kolla behörigheterna för sökfunktionerna under /Administration/Personer

VEM har rätt att:
- Använd sökning
- Använd avancerad sökning

Det är bara de ikryssade kategorierna/behörighetsnivåerna som kan använda funktionen "sök" eller "sök-advance".

// Göran

Precis. Det gäller att köra

adamevertsson's picture

Precis. Det gäller att köra de schemalagda aktiviteterna några gånger så allt inlagt material indexeras. Du kan se hur mycket som har indexerats på admin/config/search/settings. Där kan du också framtvinga en re-indexering.

Om du använder dig av Backup & Migrate för att exportera och importera din databas på ett enkelt och snabbt sätt så missa in att i grundinställningen för export så kommer vare sig Fel-loggen eller Sökindexet med, så då får man börja om och köra de schemalagda aktiviterna.

Apropå schemalagda aktiviter så kan du ställa in hur ofta de ska köras på admin/config/system/cron (som Göran skrev ovan).

/Adam




✄-----------------------------------------------------
Adam Evertsson - Came for the code, stayed for the community!

Jag har gjort allt detta och

LenaM's picture

Jag har gjort allt detta och det som är konstigt är att sökningen fungerar när man får upp rutan inne i sidan. Så sidorna är indexerade...
Alla har rättigheter att söka och att använda sök-advance.
Allt funkar när jag byter tema till ett standardtema (Bartik).
Betyder detta att det är någon knas i det tema jag använder?
//Lena

Ja, det låter ju som att det

leanderl's picture

Ja, det låter ju som att det sannolika är att det tema som krånglar har en "attrapp"-ruta, en låtsasruta som inte är kopplad till sökfunktionen. Men det är bara en gissning...

Men, är det någon som vet var

LenaM's picture

Men, är det någon som vet var jag kan gå in och fixa till attrapp-rutan så att den inte är atrapp längre....?
//Lena

Det är svårt att svara utan

leanderl's picture

Det är svårt att svara utan att titta på själva sajten. Men ett klassiskt sätt att lägga in sökformulär (sökruta) är att gå till block-inställningarna och lägga blocket Sökformulär i den region där man vill ha sökrutan. (Det förutsätter att modulen Search är aktiverad i modullistan, men det verkar du ju redan ha). Har du placerat en sökruta med hjälp av block-systemet eller hur har de hamnat där de hamnat? Bifoga gärna skärmdump av hur det ser för "besökare" och hur inställningarna ser ut i admin för block och koden från page.tpl.php och temats .info-fil... Utan de sakerna är det svårt att förstå vad som är i görningen...

Helt riktigt har jag lagt in

LenaM's picture

Helt riktigt har jag lagt in sökfunktionen med hjälp av blockinställningarna och jag har aktiverat modulen search. Jättesnällt om du har lust att titta på det. Jag har bifogat de filerna jag tror du vill ha.
//Lena

Är skärmdumpen för den

leanderl's picture

Är skärmdumpen för den sökruta som fungerar eller den som inte fungerar?.
Jag testade att lägga in temat du använder och aktivera sök via block. Det funkar bra och är samma kod som den du skrev ovan<form class="search-form" action="/search/node" method="post" id="search-form" accept-charset="UTF-8">
Din page.tpl.php ser bra ut också. Inget konstigt där. Det är verkligen ett mysterium...

Jag hittade felet tror jag.

leanderl's picture

Jag hittade felet tror jag. Jag är ingen expert på hur det här borde vara kodat, men om man tar bort (kommenterar ut) följande i template.php i temats mapp (rad 68, 72 och 73) så fungerar sökningen.

function talata_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'search_block_form') {
    $form['search_block_form']['#title'] = t('Search'); // Change the text on the label element
    $form['search_block_form']['#title_display'] = 'invisible'; // Toggle label visibilty
    $form['search_block_form']['#size'] = 40;  // define size of the textfield
    //$form['search_block_form']['#value'] = t('Search'); // Set a default value for the textfield
    $form['actions']['submit']['#value'] = t('GO!'); // Change the text on the submit button
  
// Add extra attributes to the text box
    //$form['search_block_form']['#attributes']['onblur'] = "if (this.value == '') {this.value = 'Search';}";
    //$form['search_block_form']['#attributes']['onfocus'] = "if (this.value == 'Search') {this.value = '';}";
  }
}

Man blir av med den tjusiga "Search! / Sök!"-uppmaningen i rutan, men den skulle man även kunna lägga in med jQuery i en javascipt fil. Eller kanske någon duktig utvecklare kan korrigera koden. Någon liten detalj gör att sökfältet skickar ett värde som är '' (dvs ingenting) istället för det man skrivit. Du skulle kunna rapportera detta som en issue på temats sida på http://drupal.org/project/Talata Min gissning är att den som gjort temat fixar det ganska snabbt eftersom det är en störig bug...

Man kan ju också lösa det med

Orjan's picture

Man kan ju också lösa det med HTML5-parametern . Visst, det syns inte i alla webbläsare, men många stödjer det också numera...

Tack! Nu funkar det...

LenaM's picture

Tack! Nu funkar det...

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: