Архив рубрики: WEB

Пишем свой плагин для Jquery

На примере самого примитивного действа — вывести при помощи плагина текст в определенное место.

html:

<div id="capcha" name="capcha"></div>

javascript:

jQuery.fn.Capcha = function(options) {      
            // воспользуемся расширением extend чтобы иметь "настройки по умолчанию"
            var settings = $.extend( {
                  'caption'         : 'Заголовок по умолчанию'                  
                }, options);    
            console.log(settings);              
            // не посредственно работа плагина
            this.html(settings.caption);         
            return this;
   
};

$(function() {      
    $("#capcha").Capcha({
       caption: "Hello World!"
    });
});

Как средствами Apache закрыть для «показа» часть файлов в папке

Достаточно в .htaccess добавить строчку вида:

<FilesMatch "\.(engine|inc|install|make|module|profile|po|sh|.*sql|theme|twig|tpl(\.php)?|xtmpl)(~|\.sw[op]|\.bak|\.orig|\.save)?$|^(\.(?!well-known).*|Entries.*|Repository|Root|Tag|Template|composer\.(json|lock))$|^#.*#$|\.php(~|\.sw[op]|\.bak|\.orig|\.save)$">
  <IfModule mod_authz_core.c>
    Require all denied
  </IfModule>
  <IfModule !mod_authz_core.c>
    Order allow,deny
  </IfModule>
</FilesMatch>

Создание помошника (View Helper) для Zend Framework 3

Задача: естественным для Zend Framework способом выводить в шаблоне phtml некий HTML текст генерируемый на сервере.

Решение: создадим helper (помошник вида), на примере вывода каких то сообщений пользователю.

1) В настройках модуля анонсируем помошника:

            'view_helpers' => [                    
                    'factories' => [View\Helper\Messages::class => InvokableFactory::class],                   
                    'aliases' => ['mess' => View\Helper\Messages::class],                                
                ],

2) Создаем класс /module/Application/src/View/Helper/Messages

<?php
namespace Application\View\Helper;
use Zend\View\Helper\AbstractHelper;
use Application\Common\CommonFunctions;
// Этот класс помощника отображения разных сообщений пользователю (статичных)
class Messages extends AbstractHelper {  
public function __construct() {    
}    
public function renderErrorMessages() {    
    foreach (CommonFunctions::$err as $msg) {
        echo '<div class="alert alert-warning alert-dismissible fade show" role="alert">';
        echo "<strong>$msg</strong>";
        echo '<button type="button" class="close" data-dismiss="alert" aria-label="Close">';
        echo '<span aria-hidden="true">×</span>';
        echo '</button>';
        echo '</div>';
    };
}
    
}

3) В нутри шаблона layout.phtml теперь можно написать чтото вроде:

        <div class="container-fluid">
            <?php echo $this->mess()->renderErrorMessages(); ?>
            <?= $this->content ?>
            <hr>
            <footer>
                <p>© 2011 - <?= date('Y') ?> by <a href="https://грибовы.рф">Pavel Gribov</a></p>
            </footer>
        </div>