it-swarm-tr.com

AJAX çağrısından Sistem Mesajı nasıl oluşturulur?

Ajax isteğimi geri aldığımda bir sistem mesajı görüntülemek istiyorum.

Ajax isteği doğru mesajı döndürür. Bir uyarı ile test edebilirim.

alert(result.message);
Joomla.renderMessages(result.message);

Şimdi başarı veya hata mesajını tipik bir Joomla Sistem Mesajı olarak gösterecektir. Fakat Joomla.renderMessages call, hiçbir sonuç göstermiyor. Sistem mesajı sitemde görünmeyecek.

Yanlış bir şey var mı veya bunu çalıştırmak için daha fazla bir şey yapmam gerekiyor mu?

10
Perino

@Bakual tarafından belirtilen her şey doğrudur, ancak result.message 'U alert' e geçirdiğinizi ve [alert(message)][1]'in message olmasını beklediğini fark ettim. a string veya object bir string biçimine dönüştürebilir, bu sorun olabilir.

result.message Yalnızca bir dize ise, uygun bir kap içine, şu gibi bir şey sarmanız gerekir:

var jmsgs = [result.message];  // You can stack multiple messages of the same type
Joomla.renderMessages({'info': jmsgs });
6
Craig

JavaScript işlevi, system-message-container Kimliğine sahip bir kapsayıcı bulunmasına bağlıdır. Bazı şablonlar bu kapsayıcıya sahip değildir veya yalnızca gösterilecek bir mesaj varsa. Önce Protostar ile kontrol edin ve orada çalışıp çalışmadığına bakın

Ayrıca, uzantınızla core.js Yüklediğinizden emin olmanız gerekir. Yüklü olması gerekmez, özellikle ön uçta değil. Joomla 3.3 olduğundan, JHtmlBehavior::core() kullanarak yükleyebilirsiniz, önceki sürümlerde JHtmlBehavior::framework() kullanırsınız.

2
Bakual