Author Topic: Feste Suchbergiffe mit Templates verbinden ???  (Read 15118 times)

0 Members and 1 Guest are viewing this topic.

Offline Chris72

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Feste Suchbergiffe mit Templates verbinden ???
« on: February 06, 2003, 07:26:10 PM »
Ich stehe vor folgendem Problem:

Ich möchte auf einer externen HP eine Linkliste von Begriffen erstellen, denen ich eine feste Suche nach einem bestimmten Suchbegriff zuordne. Die Suchbegriffe haben nicht mit den Kategorien tun, also funktioniert eine derartige Verknüpfung nicht. Jedem Namen soll ein anderes Template zugeordnet werden.

Beispiel: Ich habe eine Liste von Personen erstellt, die allein oder in Gruppen auf meinen Bildern vorkommen.

Ulli -> Suchbegriff Ulli
Andi -> Suchbegriff Andi
usw.

Je nach Person soll ein anderes Template verwendet werden.

Die Templateerstellung dürfte nicht das Problem sein, dazu müsste ich wohl nur das Tempkate search.html kopieren und unter einem neuen Namen mit den Veränderungen abspeichern.

Ich müsste aber wahrscheinlich auch die search.php ändern und das gestaltet sich problematisch. Ich müsste die search.php kopieren, unter neuem Namen speichern und dort irgendwo den festen Suchbegriff (z.B. Ulli) eintragen. Nur wo? Kann mir da jemand helfen....

Offline Jan

  • Administrator
  • 4images Guru
  • *****
  • Posts: 5.024
    • View Profile
    • 4images - Image Gallery Management System
Feste Suchbergiffe mit Templates verbinden ???
« Reply #1 on: February 07, 2003, 10:10:02 AM »
Suche in search.php
Code: [Select]
$main_template = 'search';
und ersetze es durch
Code: [Select]
$custom_template = 'search_'.strtolower($search_keywords);

if (file_exists(TEMPLATE_PATH."/".$custom_template.".html")) {
  $main_template = $custom_template;
}
else {
  $main_template = 'search';
}


Wenn der Suchbgriff jetzt "Ulli" ist, wird zuerst geschaut ob ein Template search_ulli.html existiert, wenn ja wird dieses genommen, wenn nicht das Standard-Template.

Jan
Your first three "must do" before you ask a question:
1. Forum rules
2. FAQ
3. Search

Offline Chris72

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Feste Suchbergiffe mit Templates verbinden ???
« Reply #2 on: February 07, 2003, 10:16:18 AM »
Danke, werde es gleich ausprobieren!!!!

Offline Chris72

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Feste Suchbergiffe mit Templates verbinden ???
« Reply #3 on: March 02, 2003, 04:10:31 PM »
Irgendwie funktioniert das ganze nicht, es wird immer nur das Standardtemplate verwendet.

Ich habe die search.php entsprechend den Vorgaben geändert und auch ein template search_daniele.html (liegt im gleichen Templateverzeichnis wie auch search.html)) erstellt. Bei der Suche nach Daniele - egal ob normal oder erweiterte Suche - wird immer nur das Standardtemplate verwendet. Was läuft verkehrt?

Offline Jan

  • Administrator
  • 4images Guru
  • *****
  • Posts: 5.024
    • View Profile
    • 4images - Image Gallery Management System
Feste Suchbergiffe mit Templates verbinden ???
« Reply #4 on: March 03, 2003, 08:29:22 AM »
Setze den Code-Abschnitt nach diese Zeile
Code: [Select]
include(ROOT_PATH.'global.php');
Jan
Your first three "must do" before you ask a question:
1. Forum rules
2. FAQ
3. Search

Offline Chris72

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Feste Suchbergiffe mit Templates verbinden ???
« Reply #5 on: March 03, 2003, 11:32:36 AM »
Das war's! Du bist ein Genie, danke!

Offline Chris72

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Problem
« Reply #6 on: March 05, 2003, 03:39:39 PM »
Ein kleines Problem gibt es noch: Wenn sich das Suchergebnis (Thumbnails) über mehrere Seiten erstreckt wird nur auf der ersten Seite das benutzerdefinierte Template, für die nachfolgenden aber das Standard-Template verwendet. Es sollte aber durchgehend - wenn vorhanden - das benutzerdefinierte Template verwendet werden.

Gibt es hierfür auch ne Lösung?

Offline Jan

  • Administrator
  • 4images Guru
  • *****
  • Posts: 5.024
    • View Profile
    • 4images - Image Gallery Management System
Feste Suchbergiffe mit Templates verbinden ???
« Reply #7 on: March 05, 2003, 06:05:30 PM »
Probiere mal folgendes (konnte es leider nicht testen):

Ersetzt oben gepostete Lösung durch diese:
Code: [Select]
$custom_template = 'search_'.strtolower($search_keywords);

if (file_exists(TEMPLATE_PATH."/".$custom_template.".html")) {
  $main_template = $custom_template;
  $site_sess->set_session_var("search_template", $main_template);
}
elseif ($search_template = $site_sess->get_session_var("search_template")) {
  $main_template = $search_template;
}
else {
  $main_template = 'search';
}

und verschiebe das ganze noch eine Zeile runter, hinter
Code: [Select]
require(ROOT_PATH.'includes/sessions.php');
Jan
Your first three "must do" before you ask a question:
1. Forum rules
2. FAQ
3. Search

Offline Chris72

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Feste Suchbergiffe mit Templates verbinden ???
« Reply #8 on: March 05, 2003, 07:40:32 PM »
Hat geklappt! Du bist wirklich klasse!!!

Offline Chris72

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Feste Suchbergiffe mit Templates verbinden ???
« Reply #9 on: March 06, 2003, 12:51:36 PM »
Die Anzeige über mehrere Seiten klappt jetzt problemlos, nur wird jetzt, wenn ich die search.php aufrufe, nicht automatisch das Standardtemplate verwendet, sondern das zuletzt verwendete Template (search_xyz.html). Das gleiche passiert, wenn ich auf ein Schlüsselwort klicke und damit eine Suche auslöse.  :?:  :?:  :?:

Offline Jan

  • Administrator
  • 4images Guru
  • *****
  • Posts: 5.024
    • View Profile
    • 4images - Image Gallery Management System
Feste Suchbergiffe mit Templates verbinden ???
« Reply #10 on: March 06, 2003, 03:56:36 PM »
Füge unter
Code: [Select]
$main_template = 'search';
das ein
Code: [Select]
$site_sess->set_session_var("search_template", $main_template);
Jan
Your first three "must do" before you ask a question:
1. Forum rules
2. FAQ
3. Search

Offline Chris72

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Feste Suchbergiffe mit Templates verbinden ???
« Reply #11 on: March 06, 2003, 05:51:09 PM »
Habe ich gemacht, aber das Problem besteht weiterhin....

Offline Jan

  • Administrator
  • 4images Guru
  • *****
  • Posts: 5.024
    • View Profile
    • 4images - Image Gallery Management System
Feste Suchbergiffe mit Templates verbinden ???
« Reply #12 on: March 07, 2003, 09:19:00 AM »
Ok, nächster Versuch ;)

Letzte Änderung rückgängig machen und folgendes über den Codeabschnitt setzen:
Code: [Select]
if (isset($HTTP_POST_VARS['search_keywords']) || isset($HTTP_GET_VARS['search_keywords'])) {
  $site_sess->drop_session_var("search_template");
}

Jan
Your first three "must do" before you ask a question:
1. Forum rules
2. FAQ
3. Search

Offline Chris72

  • Jr. Member
  • **
  • Posts: 56
    • View Profile
Feste Suchbergiffe mit Templates verbinden ???
« Reply #13 on: March 07, 2003, 12:59:52 PM »
Ich hoffe, ich nerve nicht zusehr ;-)


Ein Besserung ist zu vollmelden, allerdings immer erst beim zweiten Versuch.

Ich führe beispielsweise eine Suche nach einem Suchbegriff mit Customtemplate durch, da wird korrekterweise das Customtemplate verwendet. Folgt dann eine Suche ohne Customtemplate wird noch immer das zuletzt verwendete Customtemplate verwendet. Erst wenn danach noch eine Suche nach einem Suchbegriff ohne Customtemplate durchgeführt wird, wird auch das Standardtemplate verwendet.

Analog beim Anklicken der Schlüsselwörter: Beim ersten Versuch noch immer Verwendung des Customtemplates, nach "Zurück" und erneutem Anklicken die korrekte Verwendung des Standardtemplates.

Der Code sieht inzwischen so aus:

Code: [Select]
define('GET_CACHES', 1);
define('ROOT_PATH', './');
include(ROOT_PATH.'global.php');
require(ROOT_PATH.'includes/sessions.php');

if (isset($HTTP_POST_VARS['search_keywords']) || isset($HTTP_GET_VARS['search_keywords'])) {
  $site_sess->drop_session_var("search_template");
}

$custom_template = 'search_'.strtolower($search_keywords);

if (file_exists(TEMPLATE_PATH."/".$custom_template.".html")) {
  $main_template = $custom_template;
  $site_sess->set_session_var("search_template", $main_template);
}
elseif ($search_template = $site_sess->get_session_var("search_template")) {
  $main_template = $search_template;
}
else {
  $main_template = 'search';  
}


Offline Jan

  • Administrator
  • 4images Guru
  • *****
  • Posts: 5.024
    • View Profile
    • 4images - Image Gallery Management System
Feste Suchbergiffe mit Templates verbinden ???
« Reply #14 on: March 08, 2003, 04:05:16 PM »
OK, dann so:

Ersetze
Code: [Select]
$site_sess->drop_session_var("search_template");
durch
Code: [Select]
$site_sess->set_session_var("search_template", 0);
Jan
Your first three "must do" before you ask a question:
1. Forum rules
2. FAQ
3. Search