Programmierproblem joomla

+A -A
Autor
Beitrag
djtechno
Hat sich gelöscht
#1 erstellt: 05. Aug 2010, 12:48
so, ich soll im Rahmen meines 8 Wöchigen Praktikums ein plugin für eien tag-cloud entwickeln das als modul in joomla läuft

standalone liefs.

habe es auf joomla umgebaut, geht aber nicht

installation der zip in joomla klappt, aber er importiert die tagcloud(2).sql nicht.

importiert man sie manuell und nennt dien tabellen in jos_settings und jos_tagcloud um gehts trotzdem nicht

6 wochen sind shcon um die meiste zeit habe ich aber damit verbracht nicht weiterzukommen

weiß einer, warumd as nicht klappt, und ob #__ bei mysql ein platzhalter für den tabellenpräfix ist, spricht macht der als #__settings dann jos_settings, bzw wenn du statt jos_ als prefix meinetwegen tanteemma oder sonstwas nimmst tanteemmapräfix?

oder geht das mit den sql prefixen anders?

habe ja div. beispiele im web und ein buch zu joomla durchgelesen, aber so richtig verstanden habe ichs trotzdem nicht

sch.. MVC-gelumpe

joomla-plugin tagcloud

edit: ich versuche ja anhand eines beispielcodes aus einer website rauszufinden, wie es geht, verstehe aber die zusammenarbeit der komponenten mit joomla noch nicht so ganz

joomla, tutoritial


<?php
defined('_JEXEC') or die();
jimport('joomla.application.component.model');
class   AutoModelAuto extends JModel{
  function _getAutoQuery( &$options ){
    $db = JFactory::getDBO();
    $id =   @$options['id'];
    $select = 'a.*';
    $from = '#__auto   AS a';
    $wheres[] = 'a.published = 1';
    $query = "SELECT   " . $select .
             "\n   FROM " . $from .
             "\n   WHERE " . implode( "\n  AND ", $wheres );
    return $query;
  }
  function getAutoList( $options=array() ){
    $query = $this->_getAutoQuery( $options );
    $result = $this->_getList( $query );
    return @$result;
  }
}
?>


die getAutoList, wo wird die denn aufgerufen? ruft joomla die auf? d wo landet das @result dann?
das ist doch eigentlich eine fuunnktion,die von außen aufgerufen wird, aber wo steckt der aufruf denn?


dann habe ich gesehen die _getautoquery ist kja hier definiert <?php
defined('_JEXEC') or die();
jimport('joomla.application.component.model');
class   AutoModelAuto extends JModel{
  function _getAutoQuery( &$options ){
    $db = JFactory::getDBO();
    $id =   @$options['id'];
    $select = 'a.*';
    $from = '#__auto   AS a';
    $wheres[] = 'a.published = 1';
    $query = "SELECT   " . $select .
             "\n   FROM " . $from .
             "\n   WHERE " . implode( "\n  AND ", $wheres );
    return $query;
  }
  function getAutoList( $options=array() ){
    $query = $this->_getAutoQuery( $options );
    $result = $this->_getList( $query );
    return @$result;
  }
}
?>


da baut der den query string zusammen und dann gibts da ja den aufruf
$query = $this->_getAutoQuery( $options );

da ruft er al, so die _getautoquery auf, die den sql string zusammenbaut, und gibt die variable $options zurück, wo die antwort der funktion (wo wird die erzeugt) drinsteht?

aber wo um alles in der welt steckt nun der eigentliche sql-datenbankaufruf?

mit getdbo() wird joomla ja angewiesen,einen connect zu der datenbank,die joomla eben benutzt, aufzubauen und man kriegt ein handle

ich habe versucht mit mysql_query das handle zu nutzen, mit dem #__ platzhalter fürs prefix.

aber so geht es nicht.

hat joomla irgendeinen alternativen funktionsaufruf zu mysql_query den man innerhalb joomla statt diesem nutzen soll?

und warum wird überhaupt bei der installation trotz korrektemr <sql> </sql>-tag unter<install> </install> die tagcloud(2).sql nicht in die joomla datenbank importiert? in phpmyadmin gehts doch auch?

und warum tut er die admin.tagcloud.php unter dema dmin verzeichnis nicht irgendwi ins menü einbinden?

und warum wird die "cloudtag administraions..u.s.w.php" nach der installation nicht ausgeführt? obwohl die in der xml auch angewiesen ist,daß er die asuführen soll?

wo leitet der

$controller->redirect();

eigentlich das was der controller ausgibt eigentlich hin um? redirect(); scheint eine joomla-eigene funktionn der classe "controller" zu sein?

und das parent::display(); ruft doch eiglneltihc die display-dfunktion der übergeordnet aufrufenden php-datei auf? aber welche implementiert nun display(); oder ist display(); in der joomla-bibiothek implementiert die man mit dem require-once(); am anfang in der helper.php ja geladen hat?


[Beitrag von djtechno am 05. Aug 2010, 13:24 bearbeitet]
Suche:

Anzeige

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder928.750 ( Heute: 1 )
  • Neuestes Mitgliedrdio
  • Gesamtzahl an Themen1.558.883
  • Gesamtzahl an Beiträgen21.712.900