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
Post a Comment