Welcome, Guest. Please login or register.
Did you miss your activation email?
May 26, 2012, 01:01:52 AM

Login with username, password and session length
Search:     Advanced search
Wollen Sie dem WebsiteBaker Team beitreten?
Nähere Informationen finden Sie unter hier und auf unserer neuen Webseite.
155533 Posts in 21713 Topics by 7738 Members
Latest Member: Pattieardathfe
* Home Help Search Login Register
Pages: [1]   Go Down
Print
Author Topic: Eigenes Modul - nicht nur view.php automatisch in Template einfügen  (Read 411 times)
dwex

Offline Offline

Posts: 92


« on: October 13, 2009, 03:06:48 PM »

Hallo Leute,

ich habe folgendes Problem.

Ich bin gerade bei ein Ausschreibungssyste m mit einer Warenkorbfunktion zu schreiben.
Ich habe auch schon das meiste in meiner view.php eingebaut. Jetzt würde ich gerne in mein Template einen Link zu dem Warenkorb einbauen - das hätte ich jetzt so gemacht.
Code:
<a href="<?php echo WB_URL?>/modules/ausschreibung/warenkorb.php">Ausschreibungstexte weiterverarbeiten</a>
da ich ja nicht weis mit welchem Seitennamen das Ausschreibungssyste m jeweils eingebunden wird.
Jetzt habe ich aber das Problem, dass die Warenkorb.php ja nicht in das Template eingefügt wird sondern eben nur der Code ausgeführt wird. Wie kann ich es schaffen, dass die Warenkorb.php auch mit dem Template verarbeitet wird?

Vielen Dank für eure Hilfe!
Logged
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3147



WWW
« Reply #1 on: October 13, 2009, 04:37:09 PM »

Das habe ich jetzt nicht verstanden.

Also du legst eine Seite an die als warenkorb.php abgespeichert wird.

Alles andere geschieht automatisch. Aus der warenkorb.php wird die page_id ausgelesen und über view.php der Content angezeigt.
Bei verschieben der Seite im Seitenbaum bleibt die page_id immer erhalten. Der Content kommt aus der Datenbank.

So ist der Ablauf, deswegen verstehe ich irgendwie deine Frage nicht. Warum soll das im Template verarbeitet werden?  Du siehst doch den Inhalt.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Stefek
WebsiteBaker Org e.V.

Offline Offline

Posts: 4884



« Reply #2 on: October 13, 2009, 04:56:20 PM »

Hallo Dietmar,
so wie ich es sehe, bezieht sich die Frage auf ein Modul, nicht auf Seiten vom Typ Code.

Er hat in seinem Modul eine view.php und eine warenkorb.php
Die view.php wird ins Template integriert, die warenkorb.php nicht.

Mich interessiert auch, wie man so etwas macht.

Gruß,
Stefek
Logged

"In a time of universal deceit, telling the truth becomes a revolutionary act."
- George Orwell, Nineteen eighty-four (1984)
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3147



WWW
« Reply #3 on: October 13, 2009, 05:00:07 PM »

Vielleicht kann man er das Modul mal hier posten. Oder besser er wendet sich an den Moduleentwickler. Wenn er es selber ist, dann Modul zippen und posten.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
pcwacht
AddOn Development
*
Offline Offline

Posts: 2859



WWW
« Reply #4 on: October 13, 2009, 05:21:39 PM »

I resolved something simular like this:

in view.php, first test if variable is set (session) if set include another.php file and do nothing with view.php
if not set, do not includethe another.php file and execute code in view.php


Hope you understand? My german is bad Wink

Ich habe gleiches geschaft mit:

in view.php testet ob ein variabele gesetzt ist (session), wenn ja dan include anderes.php file und mach nicht weiter mit die code ins view.php
wenn nicht gesetzt brauchen wir nicht die include und machen die code in view.php weiter.


John
Logged

http://www.ictwacht.nl = Dutch ICT info
http://www.pcwacht.nl = My first
both still work in progress, since years.....
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3147



WWW
« Reply #5 on: October 13, 2009, 05:43:22 PM »

Liesse sich wahrscheinlich auch mit einem Droplet wunderbar lösen, wenn ich alles so richtig verstanden habe.

Dietmar
Logged

We are human beings - and nobody is perfect at all.
Ralf (Berlin)

Offline Offline

Posts: 1314


« Reply #6 on: October 13, 2009, 06:22:47 PM »

@dwex

Was du suchst, ist eine Funktion die dir an Hand der PAGE_ID die URL liefert, richtig?

Code:
     /**
       * Ermittelt den Realname Link einer Seite an Hand der $page_id
       *
       * @param INT $pageID
       * @param REFERENCE &$fileName
       * @return BOOLEAN
       */
      public function getFileNameByPageID($pageID, &$fileName) {
        global $database ;
        global $sql_result ;
        $fileName = 'ERROR';
        $settings = array();
        if (!$this->getWBSettings($settings)) return false;
        $thisQuery = "SELECT * FROM " . TABLE_PREFIX . "pages WHERE page_id='$pageID'" ;
        $oldErrorReporting = error_reporting(0) ;
        $sql_result = $database->query($thisQuery) ;
        error_reporting($oldErrorReporting) ;
        if($database->is_error()) {
          $this->error = sprintf('[%s - %s] PAGES: %s', __METHOD__, __LINE__, $database->get_error());
          return false;  }
        elseif ($sql_result->numRows() > 0) {
          // alles OK, Daten uebernehmen
          $thisArr = $sql_result->fetchRow() ;
          if(is_file(WB_PATH . $settings['pages_directory'] . $thisArr['link'] . $settings['page_extension'])) {
            // $fileName = basename($thisArr['link'] . $settings['page_extension']);
            $fileName = $this->removeLeadingSlash($thisArr['link'] . $settings['page_extension']);
            return true ; }
          else {
            $this->error = sprintf('[%s - %s] %s', __METHOD__, __LINE__, sprintf(ps_error_link_by_page_id, $pageID));
            return false ; }}
        else {
          // keine Daten
          $this->error = sprintf('[%s - %s] %s', __METHOD__, __LINE__, sprintf(tools_error_link_row_empty, $pageID));
          return false ;  }
      } // getFileNameByPageID

      /**
       * Ermittelt die URL einer Seite an Hand der $page_id
       *
       * @param INT $pageID
       * @param REFERENCE $url
       * @return BOOLEAN
       */
      public function getUrlByPageID($pageID, &$url) {
        if (!$this->getFileNameByPageID($pageID, $url)) return false;
        $url = WB_URL. PAGES_DIRECTORY. '/'.$url;
        return true;
      }

Diese und andere Funktionen findest du in den rhTools.

Gruß
Ralf
Logged
Pages: [1]   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!