2

私はajax呼び出しから通知を返しています

$app = JFactory::getApplication();
$app->enqueueMessage('Joomla notice', 'info');

フロントエンドでは、これにより次の結果が得られます (空の見出しに注意してください)。

<div id="system-message-container">
  <div id="system-message" class="alert alert-info">
    <h4 class="alert-heading"></h4>
    <div>
      <p>Joomla notice </p>
    </div>
  </div>
</div>

ただし、バックエンドのように、見出しと閉じるボタンを付けて通知を表示したい、つまり

<div id="system-message-container">
  <button type="button" class="close" data-dismiss="alert">×</button>
  <div class="alert alert-info">
    <h4 class="alert-heading">Info</h4>
    <p>Joomla notice</p>
  </div>
</div>

これを行うJoomlaの方法はありますか、それとも回避策を考え出す必要がありますか?

4

2 に答える 2

2

メッセージをキューに入れた後、次のようなメッセージを送信することをお勧めします

echo new JResponseJson($data);
JFactory::getApplication()->close();

次に、@ Riccardoのソリューションのように、クライアント側でメッセージ配列を操作できます。たとえば、私の ajax 成功関数は次のようになります

success: function(responseText){
    var json = jQuery.parseJSON(responseText);
    Joomla.renderMessages(json.messages);
    ....

ここでコードを見つけることができますhttps://github.com/Digital-Peak/DPAttachments/blob/master/com_dpattachments/admin/libraries/dpattachments/core.php#L162

于 2013-11-09T20:34:59.790 に答える