MagicWebDrive - profesinální modulární publikační systém (redakční systém) pro webdesignéry a webdevelopery

Předpřipravená API

Pro rychlé napojení šablony na rozšiřující moduly slouží celá řada rozšiřujících API. Díky nim nemusí programátor znát fyzickou strukturu tabulek spravujících data jednotlivých modulů. Pro každý modul má k dispozici objekt, jehož metody a vlastnosti využívá při práci s daty modulu. Nemusí tedy řešit například takové rutinní práce jako je stránkování záznamů a další.

Následující výpis ilustruje možnosti API objektu, který slouží k napojení šablony na modul Kvízy.

{|QUIZ?kviz&
lang_cs=Název kvízu&
hint_cs=Zvolte kvíz, který má být zobrazen v této stránce.&
lang=Quiz name&
hint=Choose quiz which should be used in this page.|} 

Tato značka zajistí umístění rozbalovacího seznamu pro volbu kvízu na záložku obsah stránky vytvořené z této šablony. Zároveň naplní identifikátorem zvoleného kvízu proměnnou v globálním datovém poli:

$this->data['blocks'][0]['quiz']['kviz']

Pro práci se zvoleným kvízem je možné následně využít předpřipravený objekt mwd_Quiz. Tento objekt po inicializaci příkazem:

$quiz = &new mwd_Quiz(array('identifier' => 'kviz'));

zpřístupní následující vlastnosti a metody.

Vlastnosti:

  • $caller - reference na volající objekt
  • $db - reference na databázový objekt
  • $tables - pole SQL tabulek
  • $identifier - identifikátor
  • $lang - aktuální jazyková mutace
  • $id_quiz - id vybraného kvízu
  • $data - veškerá data ke kvízu
  • $private - pole internich dat

Metody:

  • mwd_Quiz($properties = array()) // konstruktor
  • GetQuiz($sql = array(), $id = null)  // vrací data samotného kvízu
  • GetQuestions($sql = array(), $id_quiz = null)       // vrací otázky daného kvízu
  • GetAnswers($sql = array(), $id_questions = null) // vrací odpovědi daného kvízu
  • GetData() // vrací data, otázky a odpovědi kvízu (volá předchozí 3 metody)
  • WriteResult($columns=array(), $properties = array(
    'stats'=>true,
    'points'=>true,
    'person'=>true,
    ))  // zapisuje výsledky daného kvízu - ve vstupním poli MUSI(!) být všechny otázky, jinak nebudou započítány!!!
  • SetLang($lang = null)       // nastavuje aktuální jazyk
  • GetLang() // vrací aktuální jazyk
  • GetIdQuiz() // vrací id vybraného kvízu

 

space