【问题标题】:How to use sweetalert in cakePHP如何在 cakePHP 中使用 sweetalert
【发布时间】:2021-07-25 14:19:42
【问题描述】:

我正在使用 cakphp4。我有一个关于 cakephp 和甜蜜警报的问题。我们可以用 sweetalert 代替标准的 flash 消息吗? (我的意思是,不是标准的 Flash Message,而是给 Sweet Alert?)

UsersController.php

public function delete($slug)
 {
     $this->request->allowMethod(['post', 'delete']);
     $user = $this->Users->findBySlug($slug)->firstorFail();
    if ($this->Users->delete($user)) {
        $this->Flash->success("Deleted Successfully");
        return $this->redirect(['action' => 'index']);
    }
    $this->Flash->error('Unable to Delete user');
    return $this->redirect(['action' => 'index']);
 }

模板/元素/flash/success.php

<?php
 if (!isset($params['escape']) || $params['escape'] !== false) {
 $message = h($message);
 }
?>
<div class="message success" onclick="this.classList.add('hidden')"> 
<?= $message ?></div>

【问题讨论】:

    标签: php cakephp sweetalert cakephp-4.x


    【解决方案1】:

    您可以查看Flash component 的文档。您要更改的部分是您可以在templates/element/flash 找到的模板:

    // Uses templates/element/flash/success.php
    $this->Flash->success('This was successful');
    
    // Uses templates/element/flash/great_success.php
    $this->Flash->greatSuccess('This was greatly successful');
    

    【讨论】:

      【解决方案2】:

      你有这个项目

      <?= $this->Flash->render() ?>
      

      在默认布局中,显示每条 Flash 消息(基于他上面回答中提到的模板)。

      您可以获取结果并将其用作 sweetalert 的输入,而不是回显它。

      <?php $inputForSweetAlert = $this->Flash->render(); ?>
      

      答案未经测试。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-12-03
        • 2015-05-18
        • 1970-01-01
        • 1970-01-01
        • 2022-08-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多