Bir denetleyici işlevini çağırmak ve bundan sonra görünümümü bir ajax çağrısı ile güncellemek istiyorum.
Bu nedenle bu url'yi kullanarak bir ajax komut dosyasından denetleyici işlevimi çağırıyorum:
url: "index.php?option=com_mycomponent&task=component.save"
Her şey iyi görünüyor, ancak denetleyicideki form girdilerime erişemiyorum.
$jinput = JFactory::getApplication()->input;
$data = $jinput->get('jform', 'default_value', 'filter');
$data
boş kalır.
İşlevi formdaki normal bir Joomla düğmesinden çağırdığımda, her şey yolunda ve formdaki tüm değerler denetleyicide kullanılabilir.
Denetleyici işlevimi çağırmak istiyorum ve daha sonra görünümümü bir ajax çağrısı ile güncellemek istiyorum.
Bence böyle denemek isteyebilirsiniz:
$data = $this->input->post->get('jform', array(), 'array');
joomla 3 kullandığınızı varsayarsak, bu işlev için jquery kullanabilirsiniz:
JHtml::_('jquery.framework'); // make sure jquery is loaded
<script type="text/javascript">
jQuery.post('index.php?option=com_mycomponent&task=component.save',
jQuery( "#yourformid" ).serialize(), function(data,
statustxt){ jQuery('#resultdiv').html=data; })
</script>
Bu, sonucu bir öğeye döndürmelidir. JQuery.post () için dokümanlar burada bulunabilir http://api.jquery.com/jquery.post/ . Son işlevsellik, joomla'nın okuyabilmesi için formunuzdaki verileri post değişkenleri olarak eklemelidir. Php yazarken gelen tüm değişkenleri görmek için
print_r($_POST);