4images Forum & Community

4images Modifications / Modifikationen => Mods & Plugins (Requests & Discussions) => Topic started by: Sunny C. on November 28, 2012, 03:44:03 PM

Title: Change TEMPLATE_PATH
Post by: Sunny C. on November 28, 2012, 03:44:03 PM
Hallo zusammen,

ich möchte im Root-Verzeichnis ein seperates Template-Verzeichnis anlegen: root/text/templates/default/test.html
Um auf diese Datei zuzugreifen gibt es ja diese Codestelle:
$site_template->print_template($site_template->parse_template($main_template));
Das wiederum greift auf diesen Code zurück:
define('TEMPLATE_PATH', ROOT_PATH.TEMPLATE_DIR."/".$config['template_dir']);
$site_template = new Template(TEMPLATE_PATH);
Die Klasse "Template" ist in der template.php zu finden
Ich möchte nun wahlweise zu den Standard-Template-Verzeichnis auch das Seperate nutzen können wie in dem Beispiel:
Standard:
$site_template->print_template($site_template->parse_template($main_template));
Seperates:
$site2_template->print_template($site2_template->parse_template('test'));

Wie funktioniert das?
Er sagt mir immer das er das Template nicht finden kann!

Ich habe es bereits so umgeschrieben:

$site2_template = new Template2(TEMPLATE_PATH_2);
Und auch dementsprechend die Klassen kopiert und wahlweise eine 2 in dem Namen geschrieben.
Title: Re: Change TEMPLATE_PATH
Post by: Rembrandt on November 28, 2012, 06:24:05 PM
Du bringst da einiges durcheinander, alles steht und fällt mit der constante "'TEMPLATE_DIR'".

in der lang/deutsch/admin.php ein auswahlfeld:
$main_template_optionlist = array(
  'templates'        => 'Default',
  'text/templates'      => 'Only Text'
);
im ACP machst du das auswählbar, und speicherst es in der DB z.b. als "$config['$main_template']"

dann suche und lösche in der constants.php:

define('TEMPLATE_DIR', 'templates');

suche in der global.php:

define('MEDIA_PATH', ROOT_PATH.MEDIA_DIR);

und füge darüber ein:

define('TEMPLATE_DIR', $config['$main_template']);


sollte alles functionieren.

mfg Andi
Title: Re: Change TEMPLATE_PATH
Post by: Sunny C. on November 29, 2012, 02:27:22 PM
Hallo Andy,

ich habe das alles nun wie folgt geändert:
show_setting_row("smsp_template", "show_smsp_templates_select");
function show_smsp_templates_select($setting_name, $setting_value) {
  global $smsp_templates_optionlist;
  echo "<select name=\"setting_item[".$setting_name."]\">";
  foreach ( $smsp_templates_optionlist as $k => $v ) {
    echo "<option value=\"".$k."\"";
    if ($setting_value == $k) {
      echo " selected=\"selected\"";
    }
    echo ">".$v."</option>\n"; 
  }
  echo "</select>\n";
}
$smsp_templates_optionlist = array(
  'smsp_templates'        => 'default',
);

Wurde auch im ACP engezeigt

Nach dieser Änderung

define('TEMPLATE_DIR', 'templates');

suche in der global.php:

define('MEDIA_PATH', ROOT_PATH.MEDIA_DIR);

und füge darüber ein:

define('TEMPLATE_DIR', $config['$smsp_templates']);


Erhalte ich dieses Fehler:
Template Error: Couldn't open Template-Pack ./..//default_960px
Title: Re: Change TEMPLATE_PATH
Post by: Rembrandt on November 29, 2012, 03:40:42 PM
....
define('TEMPLATE_DIR', $config['$smsp_templates']);

also das kann nicht stimmen:
define('TEMPLATE_DIR', $config['$smsp_templates']);

dann darfst du natürlich nicht vergessen am FTP den Ordner auch anzulegen "smsp_templates/templates/" und das template selber "default_960px".

mfg Andi
Title: Re: Change TEMPLATE_PATH
Post by: Sunny C. on November 29, 2012, 04:32:15 PM
Hall Andy,

es geht nicht darum das die gesamte 4images Gallery ein anderen Pfad nutzt, sondern nur für eine Modifikation.

Es geht um folgendes:

Ich habe einen neuen Ordner erstellt, wir nehmen hier ium Beispiel , nachfolgend Ordner genannt.
- TEST
-- test.php (diese soll die templates (test.html) aufrufen)
-- admin/test.php (via include in die 4images admin.php)
-- templates/test.html

Ich möchte versuchen Modifikationen in eigene Ordner auszulagern. Das gelingt auch ohne Probleme, allerdings das parsen/print für die Templates nicht.