jquery - how to call model from joomla layout passing an object -


how call joomlas layout models method gather data? try use google maps on lat , long , on search retrieved object contains specified datas, , layout initialise data desired xml follows. know not best workaround not same query twice.

controller calling model

            $model = $this->getmodel('item');             $view = $this->getview('item', 'html'); // view             $view->setlayout('default:items');             $view->assignref('url_var', $this->input->get('state'));             $view->assignref('city', $this->input->get('city'));  

view.html

    function display($tpl = null)      {             // assign data view                    $this->item_list = $this->get(items, $this->city);              $this->xml_map = $this->get(createmapxml, $this->item_list);             //here not queries object list.shows me passed id want pass model argument             var_dump($this->get(items, $this->city));    // check errors.             if (count($errors = $this->get('errors')))              {                     jlog::add(implode('<br />', $errors), jlog::warning, 'jerror');                     return false;             }             // display view             parent::display($tpl); 

}

var mark;   var pointa;    if (gbrowseriscompatible()) {     var m = jquery("#map")[0];     if(m) {        var map = new gmap2(m);       var start = new glatlng(63.13450320833446,16.69921875);       var zoomlevel = 5;       map.setcenter(start, zoomlevel);       map.addcontrol(new gsmallmapcontrol());  //here create xml calling model function       jquery.get('<?php //$model->createmapxml($this->items)?>',function(data) {       jquery(data).find('marker').each(function(){           var lat    = jquery(this).attr('lat');           var lng    = jquery(this).attr('lng');           var html   = jquery(this).attr('name')+" ";           html      += jquery(this).attr('msg')+" ";           html      += jquery(this).attr('link');           var point  = new glatlng(lat,lng);           var marker = new gmarker(point);            map.addoverlay(marker);            gevent.addlistener(marker, "click", function() {             marker.openinfowindowhtml(html);           });          });        });        gevent.addlistener(map, 'click', function(overlay, point){         if(mark) {           map.removeoverlay(mark);         }         if(point) {           pointa = new gpoint(point.x, point.y);           mark = new gmarker(pointa);           map.addoverlay(mark);           map.getcenter(point);           var lat = point.y;           var lng = point.x;            map.openinfowindowhtml(point,form);         }       });     }   } 

the layout loading through view.html.php . model included in view.html.php means inside layout can access model function classname :: functionname();

another option can assign model in view.html.php variable like

$this->assignref("product_model",$model); 

then on layout can access

$this->product_model->function(); 

hope you.


Comments

Popular posts from this blog

php - Why I am getting the Error "Commands out of sync; you can't run this command now" -

linux - Does gcc have any options to add version info in ELF binary file? -

java - Are there any classes that implement javax.persistence.Parameter<T>? -