Neue Antwort schreiben 
 
Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Plugin System schreiben PHP
Fuexline Offline
Euer Gott und Mittelpunkt

Beiträge: 6.560
Registriert seit: Aug 2012
Beitrag #21
RE: Plugin System schreiben PHP
sollte mit woocommerce und wordpress super gehen

Meine Main Geräte

15.11.2017 07:37
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Michael_ Offline
Bier aus Hawaii

Beiträge: 1.510
Registriert seit: Feb 2011
Beitrag #22
RE: Plugin System schreiben PHP
Danke ich werd mir das mal anschauen.

Ich hab grad ein Problem, mein System ist soweit fertig dachte ich und da wollte ich mal den ersten Hack als Plugin umschreiben.
Aber sagt mal wie soll ich das den als Hook machen:

Code:
suche in global.php

-----------------------

$tpl = new tpl(0,intval($style['subvariablepackid']));

-----------------------

und ersetze es durch

-----------------------

$tpl = new tpl(intval($style['templatepackid']),intval($style['subvariablepackid']));

################################################################################​##############################################

suche in acp/lib/class_tpl_file.php

-----------------------

function tpl($templatepackid=0,$subvariablepackid=1,$prefix="") {
  $this->subvariablepackid = $subvariablepackid;
  $this->templatefolder = $prefix."templates";
}

-----------------------

und ersetze es durch

-----------------------

function tpl($templatepackid=0,$subvariablepackid=1,$prefix="") {
  global $db, $n;
  $this->subvariablepackid = $subvariablepackid;
  if(!$templatepackid) $this->templatefolders[] = $prefix."templates";
  $result = $db->query("SELECT * FROM bb".$n."_templatepacks");
  while($row = $db->fetch_array($result)) $templatepacks[$row['templatepackid']] = $row;
  while($templatepackid != 0) {
   $this->templatefolders[] = $prefix.$templatepacks[$templatepackid]['templatefolder'];
   if($templatepacks[$templatepackid]['parent_templatepackid']==-1) {
    $this->templatefolders[] = $prefix."templates";
    break;
   }
   else $templatepackid = $templatepacks[$templatepackid]['parent_templatepackid'];
  }
  $result = $db->query("SELECT * FROM bb".$n."_subvariablepacks LEFT JOIN bb".$n."_subvariables USING (subvariablepackid) WHERE variable = '{imagefolder}'");
  while($row = $db->fetch_array($result)) $subvariablepacks[$row['subvariablepackid']] = $row;
  $varlist = "''";
  while($subvariablepackid != 0) {
   $this->imagefolders[] = $subvariablepacks[$subvariablepackid]['substitute'];
   $subvariablepackid = $subvariablepacks[$subvariablepackid]['parent_subvariablepackid'];
  }
}

-----------------------

suche

-----------------------

var $templatefolder = "";

-----------------------

und ersetze es durch

-----------------------

var $templatefolders = array();
var $imagefolders = array();
var $images = array();

-----------------------

suche

-----------------------

   if(file_exists($this->templatefolder."/$templatename.tpl")) $this->templates[$templatename]=str_replace("\"","\\\"",implode("",file($this->templatefolder."/$templatename.tpl")));

-----------------------

und ersetze es durch

-----------------------

   for ($j=0;$j<count($this->templatefolders);$j++) {
    if(file_exists($this->templatefolders[$j]."/$templatename.tpl")) {
     $this->templates[$templatename]=str_replace("\"","\\\"",implode("",file($this->templatefolders[$j]."/$templatename.tpl")));
     break;
    }
   }

-----------------------

suche

-----------------------

    case "{!DOCTYPE}": $template = $this->str_replace($row['variable'],$row['substitute'],$template); break;

-----------------------

und füge darunter ein

-----------------------

    case "{imagefolder}": break;

-----------------------

Die anderen Codestellen gingen problemlos.

Also ich mein wie kann ich das machen ohne die Original Codestellen zu verändern?
15.11.2017 08:35
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste