Neue Antwort schreiben 
 
Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Plugin System schreiben PHP
Fuexline Offline
The foxiest under all Foxes

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

Main PC: Intel XEON 20 Thread CPU, Gigabyte X99, , 16 GB DDR4, 2* AMD WX 7100 8GB, 2* 512GB SSD + 2TB Datengrab, Asus Xonar Essence STX
Surf und VR PC: Intel Xeon L5640, 12 GB DDR3 2000 Mhz, 2* AMD Rx 480 8GB 2* 250 GB SSDs, + 2TB Datengrab, Asus Xonar Essence STX
Main Notebook: Thinkpad X1 Carbon, I5 4210U, 8GB Ram, QHD IPS Display, 180 GB Intel Opal fähige SSD, LTE Modem, Intel 7260AC WIFI BT 4.0, Ambiant Light Sensor und Adaptive keyboard.
Test Notebook: Thinkpad T400, C2D P8600 8GB DDR3, Intel graphics, FPR, GOBI 2000 3G Modem, Intel Wifilink 5100, SXGA+ Display, DVD RAM
15.11.2017 08: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.277
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?

Der unsichtbare Dritte schrieb:Soll das ein Scherz sein?
Ja ein Scherz, wir werden im Auto darüber lachen.



Intel Xeon E5-1660v2, 128gb 1600MHZ DDR3 ECC RAM, 3x 1000gb SSD, 1x 4000gb HDD, Windows 7 Ultimate 64bit
15.11.2017 09:35
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


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