Page 1 of 2

Suchen funktion und Farben

Posted: Thu Dec 22, 2005 3:33 pm
by lordcoffee
Hallo zusammen!

2 kleine Probleme:

1.: die Suchen funktion gibt bei mir immer einen Fehler aus.
hoechstaktuell.de. Bei fast jedem Blog den ich besuchte funktionierte die Funktion. Woran kann das liegen bzw. wie korrigiere ich den Fehler?

2.: Der Link unter einem Einleitungsartikel (...volständig lesen) ist immer in der selben Farbe wie der Fließtext. Ich würde es gerne so einstellen das er permanent z.B. rot ist. Kann mir da jemand helfen?

Danke im Vorraus, Lordocoffee!

Re: Suchen funktion und Farben

Posted: Thu Dec 22, 2005 3:44 pm
by garvinhicking
Hi!
1.: die Suchen funktion gibt bei mir immer einen Fehler aus.
hoechstaktuell.de. Bei fast jedem Blog den ich besuchte funktionierte die Funktion. Woran kann das liegen bzw. wie korrigiere ich den Fehler?
Die Fehlermeldung der Suche beschreibt ziemlich genau, was zu tun ist. :-)
2.: Der Link unter einem Einleitungsartikel (...volständig lesen) ist immer in der selben Farbe wie der Fließtext. Ich würde es gerne so einstellen das er permanent z.B. rot ist. Kann mir da jemand helfen?
Leider gibt es auf der genannten URL keinen solchen Link, sonst hätte ich Dir die CSS-Regel nennen können. :-)

Viele Grüße,
Garvin

OK sorry, hier nochmal etwas genauer

Posted: Thu Dec 22, 2005 3:58 pm
by lordcoffee
Also zu 1.:

http://www.hoechstaktuell.de/hc/index.p ... 1-Projekte

Unter dem artikel ist ja wie gewöhnlich der Link um den artikel vollständig lesen zu können. Der sollte nach Möglichkeit eine ander Farbe als der Fließtext sein. Ursprünglich ist das ja auch so. Finde jetzt nur die Stelle in der Style CSS nicht mehr an der ich die Farbe hierfür eingebe.

Zu 2.: Die Fehlermeldung nach eingabe eine Suchbegriffes:
Die Suche konnte nicht wie gewünscht ausgeführt werden. Hinweis für den Administrator dieses Blogs: Der Fehler kann durch fehlende Index-Schlüssel der Datenbank verursacht werden. Auf MySQL-Systemen muss der Datenbankbenutzer-Account in der Lage sein, Index-Schlüssel zu erstellen und folgende Abfrage auszuführen:

CREATE FULLTEXT INDEX entry_idx on serendipity_entries (title,body,extended)

Die genaue Fehlermeldung der Datenbank bei der Suche lautete:

SELECT
e.id,
e.authorid,
a.realname AS author,
a.email,
ec.categoryid,
e.timestamp,
e.comments,
e.title,
e.body,
e.extended,
e.trackbacks,
e.exflag

FROM
serendipity_entries e
LEFT JOIN serendipity_authors a
ON e.authorid = a.authorid
LEFT JOIN serendipity_entrycat ec
ON e.id = ec.entryid
LEFT OUTER JOIN serendipity_entryproperties ep_no_frontpage
ON (e.id = ep_no_frontpage.entryid AND ep_no_frontpage.property = 'ep_no_frontpage')
LEFT OUTER JOIN serendipity_entryproperties ep_cache_extended
ON (e.id = ep_cache_extended.entryid AND ep_cache_extended.property = 'ep_cache_extended')
LEFT OUTER JOIN serendipity_entryproperties ep_cache_body
ON (e.id = ep_cache_body.entryid AND ep_cache_body.property = 'ep_cache_body')
LEFT OUTER JOIN serendipity_entryproperties ep_access
ON (e.id = ep_access.entryid AND ep_access.property = 'ep_access')
LEFT JOIN serendipity_entryproperties ep_sticky
ON (e.id = ep_sticky.entryid AND ep_sticky.property = 'ep_is_sticky') LEFT JOIN serendipity_category c
ON ec.categoryid = c.categoryid LEFT JOIN serendipity_authorgroups AS acl_a
ON acl_a.authorid = 0
LEFT JOIN serendipity_access AS acl_acc
ON ( acl_acc.artifact_mode = 'read'
AND acl_acc.artifact_type = 'category'
AND acl_acc.artifact_id = c.categoryid
)
WHERE
MATCH(title,body,extended) AGAINST('fuddel')
AND isdraft = 'false' AND timestamp <= 1135262544 AND (ep_access.property IS NULL OR ep_access.value = 'public') AND (ep_no_frontpage.property IS NULL OR ep_no_frontpage.value != 'true') AND (
c.categoryid IS NULL
OR ( acl_acc.groupid = 0)
OR ( acl_acc.artifact_id IS NULL

)
)
GROUP BY e.id
ORDER BY timestamp DESC
LIMIT 10

/ Can't find FULLTEXT index matching the column list

Re: OK sorry, hier nochmal etwas genauer

Posted: Thu Dec 22, 2005 4:05 pm
by garvinhicking
Hi!
Ah, okay. Ich hatte nicht gesehen dass das blog noch mehr Einträge besitzt.

Das kannst Du mit folgendem CSS Code erreichen:

Code: Select all

.serendipity_entry a {
  color: #e2017b;
}
Eventuell formatiert dir das zu viele Linkfarben um. Dann musst Du andere Elemente explizit wieder auf grau setzen:

Code: Select all

.serendipity_entry .serendipity_entryFooter a {
 color: gray;
} 
Alternativ kannst du dem "vollständig lesen" Link auch in der entries.tpl Template Datei einen eindeutigen CSS Selektor verpassen.

Meine Empfehlung übrigens: Aardvark, EditCSS und MODIv2 (Firefox extensions + bookmarklets) benutzen. Damit geht das ultraschnell herauszufinden.
Zu 2.: Die Fehlermeldung nach eingabe eine Suchbegriffes:
Ja, genau. Was ist daran missverständlich? :-)

Der erste Satz gibt 100% genau wieder, was zu tun ist. :-)

Viele Grüße,
Garvin

Danke!

Posted: Thu Dec 22, 2005 4:22 pm
by lordcoffee
also Problem 1 wäre damit gelöst! Danke nochmal!

Aber zur Suchfunktion stehen bei mir drei große ??? über dem Schädel.
Ich mache das ja alles mit learning by doing und mit dem MySQL habe ich noch nicht wirklich viel am Hut. Also den Text lesen kann ich aber wie
Auf MySQL-Systemen muss der Datenbankbenutzer-Account in der Lage sein, Index-Schlüssel zu erstellen und folgende Abfrage auszuführen:
kann ich das machen?

Danke, Lordcoffee!

Re: Danke!

Posted: Thu Dec 22, 2005 4:44 pm
by garvinhicking
Hi!
kann ich das machen?
Ja, das solltest du mittels MySQL (phpMyAdmin oder Command prompt oder PHP script) ausführen. Falls die Abfrage fehlschlägt, musst du Dich an deinen Provider wenden.

( P.S.: Dieses Forum enthält gut ein dutzend Fragen [und antworten] zu genau diesem Thema :-) )

Viele Grüße,
Garvin

Posted: Tue Jan 17, 2006 10:21 am
by lordcoffee
So, hat wie immer etwas gedauert. Mein Provider sagte mir das "indexing" eigentlich problemlos möglich sei. Daraufhin habe ich dieses Forum durchsucht und mir den Befehl:

CREATE FULLTEXT INDEX entry_idx ON serendipity_entries(
title,
body,
EXTENDED
)

kopiert und in der DB ausgeführt. Daraufhin bekam ich folgenden Fehler:

MySQL meldet: Dokumentation
#1044 - Access denied for user 'XXXX'@'localhost' to database 'XXXXX'

Das habe ich dem Provider gemeldet. Jetzt fragen die mich:
Können Sie bitte einmal nachsehen ob Sie die Rechte INDEX und ALTER aktiviert haben?
erstmal weiß ich nicht wie das geht aber mir gehts mehr um die Frage
Ist das normal?

Gruß, Lordcoffee

Posted: Tue Jan 17, 2006 10:23 am
by garvinhicking
Hast Du den User-Account für die Datenbank selber angelegt? Mittels phpMyAdmin kann man eigentlich die Rechte einsehen; ich weiß aber nicht ob das bei den eigenen auch geht, oder ob man da wiederum auch spezielel Rechte braucht.

Viele Grüße,
Garvin

Posted: Tue Jan 17, 2006 10:25 am
by lordcoffee
Ich habe die Datenbank via confixx Professinal angelgt. Hilft das weiter? :?:

Posted: Tue Jan 17, 2006 10:26 am
by garvinhicking
Mir leider nicht. Ich nix confixx. :)

Schau mal in die MySQL Doku zum Stichwort "SHOW PRIVILEGES".

Viele Grüße,
Garvin

Posted: Tue Jan 17, 2006 11:02 am
by lordcoffee
Der Support hat mir jetzt folgendes geschrieben:
Ich habe Ihnen die Rechte INDEX und ALTER hinzugefügt.

Bitte beachten Sie das diese Einstellung normalerweise nicht zur Standardausrichtung von MySQL im SharedHosting gehört.
Was kann ich jetzt mit INDEX und ALTER anfangen? Kann ich damit meine "Suche" zum laufen bringen? Sorry für die anfängerfragen...

Posted: Tue Jan 17, 2006 11:48 am
by garvinhicking
Jau, mit den Rechten kannst Du deine SQL-Abfrage für fulltext indize einfügen :)

Viele Grüße,
Garvin

Posted: Tue Jan 17, 2006 12:46 pm
by lordcoffee
Geht das hier?

Image

Rechts, im unteren drittel steht ja indizies aber was muss da tun? Biiitte :cry:

Posted: Tue Jan 17, 2006 12:54 pm
by garvinhicking
Einfach die SQL Abfrage ausführen die Du hier schonmal gepostet hast :)

Viele GRüße,
Garvin

Posted: Tue Jan 17, 2006 1:14 pm
by lordcoffee
CREATE FULLTEXT INDEX entry_idx ON serendipity_entries(
title,
body,
extended
)
...und wiedermal kommt die Antwort "Access denied for usr..."

Mach ich da was falsch oder will der Provider vera*#&% ?