AJAX 호출에서 시스템 메시지를 렌더링하는 방법


10

내 아약스 요청을 받았을 때 시스템 메시지를 표시하고 싶습니다.

아약스 요청은 올바른 메시지를 반환합니다. 경고로 테스트 할 수 있습니다.

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

이제 일반적인 Joomla 시스템 메시지로 성공 또는 오류 메시지가 표시됩니다. 그러나 Joomla.renderMessages전화는 결과를 보여주지 않습니다. 시스템 메시지가 내 사이트에 나타나지 않습니다.

문제가 있습니까? 아니면 이것을 실행하기 위해 더 많은 일을해야합니까?

답변:


6

@Bakual에 의해 언급 된 모든 일들은 정확하지만 난 당신이 단지를 통과하는 것을 알 result.messagealert와 주어진 [alert(message)][1]예상하는이 message을 수 string또는 object그것이로 변환 할 수 있습니다 string이 문제가 될 수 있습니다.

경우 result.message단지 문자열입니다, 당신은 적절한 용기에 포장해야한다, 이런 식으로 뭔가 :

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

그게 해결책입니다! 고마워!
Perino

2

JavaScript 함수는 id가있는 컨테이너의 존재 여부에 따라 다릅니다 system-message-container. 일부 템플릿에는이 컨테이너가 없거나 표시 할 메시지가있는 경우에만 해당됩니다. 먼저 Protostar를 확인하고 작동하는지 확인하십시오.

또한 실제로 core.js확장 프로그램을 로드했는지 확인해야합니다 . 특히 프론트 엔드에는 필요하지 않습니다. Joomla 3.3부터는을 사용하여로드 할 수 JHtmlBehavior::core()있으며 이전 버전에서는을 사용 JHtmlBehavior::framework()합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.