it-swarm.com.de

Die Textsprache in einer externen Ajax-Datei funktioniert nicht

Ich verwende eine externe Ajax-Datei, um einen Ajax-Aufruf in einem Modul auszuführen. (Ich wollte keinen Controller bearbeiten oder einen Subcontroller nur für einen Aufruf erstellen.)

jQuery(document).ready(function($){
$(document).on('click', '.changeBtn',function(){
  var yo="<?php echo 'ip_searchmod_'.$unique_qsid; ?>";
  var text="<?php echo JText:: _('COM_IPROPERTY_THANASIS_ADV_SEARCH');?>";
  $.ajax({

    type:"POST",
    url:"/templates/spiti360/html/mod_ip_homesearch/ajaxChangeSimple.php",
    success: function(response){

      $('#' + yo).html(response);
      $('#' + yo).addClass('formSwapper');
      $('#top_search_form').addClass('divConSwapper');
      $('#swapper').addClass('simpleBtn');
      $('#swapper').removeClass('changeBtn');
      $('#swapper').text(text);
    }

  });

});
});

Ajax funktioniert einwandfrei, mein Problem ist, dass ich diese JText:: _('COM_IPROPERTY_THANASIS_FOR_SALE'); in der Ajax-Datei verwende und sie wie folgt wiedergebe: COM_IPROPERTY_THANASIS_FOR_SALE Anstelle von For Sale. In der default.php - Datei des Moduls funktioniert diese Sprachdefinition einwandfrei, jedoch nicht in einer Ajax-Datei.

Ich habe versucht, die Sprachumgehung des Joomla-Administrators zu verwenden, aber es hat nicht funktioniert.

In Ajax-Datei verwende ich die folgenden enthält:

require_once( JPATH_BASE . DS . 'includes' . DS . 'defines.php' );
require_once( JPATH_BASE . DS . 'includes' . DS . 'framework.php' );
require_once( JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php' );

Muss ich noch etwas hinzufügen, damit es funktioniert?

1
IseNgaRt

Fügen Sie nach dem Aufruf von require_once Folgendes hinzu, um die Anwendungen zu initialisieren:

$mainframe = JFactory::getApplication('site');
$mainframe->initialise();

Laden Sie dann die Sprachdatei der Komponente:

$lang = JFactory::getLanguage();
$lang->load('com_iproperty', JPATH_ROOT);

Ich habe com_iproperty Erraten. Wenn dies nicht der Fall ist, ändern Sie es bitte.

2
Lodder