• Как настроить ssh config файл для gitflic.ru?

    nefone
    @nefone
    Junior PHP разработчик
    Нужно сменить удаленный репозиторий remote вашего проект, примерно так:
    git remote rename origin old-origin
    git remote add origin git@gitflic.ru:<username>/<project>.git
    Ответ написан
    Комментировать
  • Как работать с git remote add. Как его использовать для личного сервера?

    nefone
    @nefone
    Junior PHP разработчик
    где мне надо прописать git remote add (на своем компьютере или на сервере)

    git remote add вы прописываете на своем компьютере.

    А на сервере вы должны установить Git, SSH сервер и создать пользователя git. В домашнем каталоге пользователя git в файле ~/.ssh/authorized_keys прописываете публичные ключи пользователей, которые будут иметь доступ к репозиторию.

    После можно создать на сервере директорию repo.git и установить владельцем пользователя git:
    cd ~
    mkdir repo.git
    chown git:git repo.git

    После в этой папке инициализируем репозиторий:
    cd repo.git
    git --bare init

    И после как получается
    git remote add origin ssh://git@<айпи сервера>:repo.git


    Репозиторий на вашем сервере готов для приема коммитов.
    Ответ написан
    Комментировать
  • Как исправить error:0A000086:SSL?

    nefone
    @nefone
    Junior PHP разработчик
    Swift Mailer больше не поддерживается.
    Можно попробовать использовать другой SmtpTransport, как вариант Symfony Mailer
    Ответ написан
  • Как узнать что загружает php на сервере debian?

    nefone
    @nefone
    Junior PHP разработчик
    Попробовать использовать один из следующих инструментов:
    Xdebug - в режиме профайлера
    Xhprof
    Blackfire
    Ответ написан
    Комментировать
  • PHP - как показать изображения в браузере из папки?

    nefone
    @nefone
    Junior PHP разработчик
    Файл index.php в папке public в котором будут выводиться изображения:
    <?php
    require __DIR__ .  '/functions.php';
    $images = getAllImages();
    
    <?php
    foreach ($images as $image) {
        $imageLink = __DIR__ . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . $image ;
        echo '<div><img src="' . $imageLink . '" alt="' . $image. '"></div>';
    }

    Содержание файла functions.php в папке public :
    /**
     * Функция сканирования папки в поиске изображений
     *
     * @param string $directory
     * @return array
     */
    function getAllImages(string $directory = __DIR__ . '/images/'): array
    {
        $images = [];
        $ignoreFiles = ['.', '..',];
        $files = scandir($directory);
    
        foreach ($files as $file) {
            if (in_array($file, $ignoreFiles)) {
                continue;
            }
            $images[] = $file;
        }
    
        return $images;
    }

    Будут выводиться файлы изображений из папки images, которая находится в папке public
    Ответ написан
    Комментировать
  • Как разделить контент записи в Wordpress?

    nefone
    @nefone
    Junior PHP разработчик
    Можно использовать jQuery для создания обертки для элементов на странице.
    .wrap()
    .wrapAll()

    $(document).ready(function() {
        $('.image').wrap('<div class="image_wrapper"></div>');
        $('.text').wrap('<div class="text_wrapper"></div>');
    }
    Ответ написан
  • Как правильно установить YII?

    nefone
    @nefone
    Junior PHP разработчик
    Если у вас Linux, то необходимо установить LAMP (или LEMP) стэк на сервере:
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install apache2
    sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql
    sudo apt-get install mysql-server mysql-client


    При установке MySQL надо будет ввести параметры подключения (логин и пароль), они понадобятся позже для настройки подключения к базе данных из Yii2.

    Потом настроить Apache в конфигурационном файле httpd.conf указываем:
    # Устанавливаем корневой директорией "basic/web"
    DocumentRoot "path/to/basic/web"
    
    <Directory "path/to/basic/web">
        RewriteEngine on
    
        # Если запрашиваемая в URL директория или файл существуют обращаемся к ним напрямую
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        # Если нет - перенаправляем запрос на index.php
        RewriteRule . index.php
    
        # ...прочие настройки...
    </Directory>


    Где path/to/basic/web - это путь до вашей точки входа в Yii2 (если у вас другой путь, то заменить).

    Для корректной работы Yii2 требуется включить расширение PDO, для этого добавить или раскомментировать строки в php.ini файле:
    extension=pdo.so
    extension=pdo_mysql.so


    После всех настроек не забыть перезапустить Apache:
    sudo service apache2 restart

    P.S. Почитать документацию
    Ответ написан
    Комментировать
  • Как добавить в opencart счетчики Yandex.Metrika, LiveInternet?

    nefone
    @nefone
    Junior PHP разработчик
    Можно прописать код счетчиков в файл шаблона:
    catalog/view/template/common/header.twig
    Ответ написан
    Комментировать
  • Какой модуль есть для отображения категорий в виде фотографий для opencart 4.0.1.1?

    nefone
    @nefone
    Junior PHP разработчик
    Тут модуль не требуется.
    Надо менять верстку выводе катерий в шаблоне: product/category.twig
    Ответ написан
    Комментировать
  • Как решить проблему Error: Could not load config default!?

    nefone
    @nefone
    Junior PHP разработчик
    Такая же проблема возникла при переносе сайта на OpenCart с одного домена на другой.
    Решил в несколько шагов:
    Сначала проверил наличие файла: system/config/default.php
    Потом занялся отладкой путей прописанных в константах в файлах:
    config.php из корневой директории и admin/config.php , оказалось что не все константы указывали правильные пути на новом сервере.
    Ответ написан
    Комментировать
  • Почему в кастомном виджете пишется "Устаревший виджет"?

    nefone
    @nefone
    Junior PHP разработчик
    Начиная с WordPress версии 5.8 "классические" виджеты стали не актуальными.
    На замену им пришли блоки из редактора записей Guttenberg.
    Что бы вернуть поддержку классических виджетов, есть плагин Classic Widgets, но поддержка его не обещает быть вечной.

    P.S. а вообще актуальнее будет осваивать новые возможности - это дает больше плюсов и более эффективно позволяет решать задачи.
    Ответ написан
    Комментировать
  • Как поэтапно раскрыть/скрыть пост?

    nefone
    @nefone
    Junior PHP разработчик
    Можно использовать jQuery, по клику на кнопке вызывать:
    fadeIn()
    fadeOut()
    на требуемых блоках.
    Ответ написан
    Комментировать
  • Как остановить создание кэша в wpo-minify в wordpress?

    nefone
    @nefone
    Junior PHP разработчик
    Я для избежания этого, во время разработки и внесения правок отключаю плагин WP-Optimize.
    После того, как все сделано - можно включить обратно.
    Ответ написан
    Комментировать
  • Как избежать создания папки .idea в PhpStorm?

    nefone
    @nefone
    Junior PHP разработчик
    Каталог .idea, содержит служебные файлы среды PHPStorm, с опциями проекта.

    Перед открытием проекта в среде PHPStorm создайте его с помощью vue-cli, после этого открываете проект в среде разработки.

    Чтобы лишние файлы не попадали в проект, нужно их указать в .gitignore файле.

    1. Добавьте в файл .gitignore строки:
    */.idea/
    .idea

    Эти строки сделают так, чтобы git не обращал внимания на содержимое папок .idea, где бы в репозитории они ни находились.

    2. Перейдите в корень репозитория и выполните команду для удаления файлов из git. Удаляется папка .idea в корне и папки .idea из подпапок первого уровня.

    git rm -r --cached .idea */.idea

    Выполнение команды git-rm необходимо, так как добавление строки в .gitignore, не ведет остановке контроля над уже отслеживаемыми файлами. Ключ -r нужен, чтобы команда была применена рекурсивно ко всем файлам и папкам в .idea и */.idea. Ключ --cached нужен, чтобы файлы были удалены только из кэша git, а не из файловой системы.
    Ответ написан
    4 комментария
  • Что указывать в переменной $accountId php-sdk moneta.ru?

    nefone
    @nefone
    Junior PHP разработчик
    Должно быть примерно так:
    $monetaSDK = new Moneta\MonetaSdk(); 
    $accountId = $monetaSDK->getRequestedValue('moneta_sdk_account');
    $result = $monetaSDK->showAccountBalance($accountId); 
    echo $result->render;
    Ответ написан
    Комментировать
  • Как сделать разный title если header везде одинаковый?

    nefone
    @nefone
    Junior PHP разработчик
    PHP позволяет решить эту задачу множеством способов, использовать готовый шаблонизатор, например Twig.

    Или реализовать свой с использованием функций ob_start() и ob-get-clean(): создаете файлы index.php и functions.php, каталог templates в котором будут храниться все файлы шаблонов. В каталоге templates создаете файлы: layout.php, header.php, footer.php, content.php.

    Файл functions.php:
    /**
     * Функция загрузки шаблона
     * 
     * @param string $template Путь до файлов шаблона
     * @param mixed[] $data Данные для подстановки в шаблон
     * @return string Возвращает готовый код шаблона
     */
     function render_template($template, $data = []) {
         ob_start();
         if (file_exists($template)) {
             extract($data);
             require($template);
         } else {
             print('Нет файла шаблона: '.$template);
         }
         $html = ob_get_clean();
         return $html;
     }

    Файл index.php:
    require_once __DIR__ .  '/functions.php';
    
    $header = render_template('templates/header.php', ['title' => 'Главная страница']);
    $footer= render_template('templates/footer.php');
    $content = render_template('templates/content.php');
    $page_layout = render_template('templates/layout.php',  
                                   ['header' => $header, 'footer' => $footer,  'content' => $content]);
    print($page_layout);

    Файл templates/header.php:
    <head>
    <title><?=$title?></title>
    </head>

    Файл templates/layout.php (в котором вместо <?=$header?> будет выводиться содержимое из файла templates/header.php и т.д.):
    <!DOCTYPE html>
    <html lang="ru">
    <?=$header?>
    <body>
    <?=$content?>
    <?=$footer?>
    </body>
    </html>
    Ответ написан
    1 комментарий
  • Почему неправильно отображается значек navbar toggle в Bootstrap4?

    nefone
    @nefone
    Junior PHP разработчик
    Мне помогло добавить в файл своих стилей код:
    .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }

    Взят из исходников самого Bootstrap, но по сути, если хочется, то можно написать полностью свои стили для класса .navbar-toggler-icon
    Ответ написан
    Комментировать
  • Почему не могу выполнить миграции в докере?

    nefone
    @nefone
    Junior PHP разработчик
    Попробуй выполнить в консоли:
    php artisan db
    и проверить свое подключение к базе данных.
    Так же конфигурацию подключения к БД не только в .env но в config/database.php файле.
    Если все хорошо, то возможно проблема с самой миграцией, невозможно найти указанную таблицу "cennik" или базу данных.
    Ответ написан
    Комментировать
  • Локальная разработка на Битрикс. Bitrix VM + IDE. Как правильно организовать, чтобы работало быстро?

    nefone
    @nefone
    Junior PHP разработчик
    Можно создать в BitrixVM нового FTP пользователя и в PHPStorm настроить нужный деплой.
    В данном видео рассказывается, как это можно сделать.
    Т.к. на локальной машине у нас будут копии файлов, то проблема с индексацией решается.
    Ответ написан
    Комментировать
  • Как отключить доставку и оплату в Woocommerce?

    nefone
    @nefone
    Junior PHP разработчик
    Я реализовал данную фичу с помощью пары хуков:
    //отключаем параметры доставки по стране
    add_filter( 'woocommerce_cart_needs_shipping', 'woocommerce_disable_shipping' );
    function woocommerce_disable_shipping() {
    	return false;
    }
    //отключаем параметры оплаты
    add_filter( 'woocommerce_cart_needs_payment', 'woocommerce_disabled_payment' );
    function woocommerce_disabled_payment() {
    	return false;
    }

    Теперь параметры заказа просто падают в админку WooCommerce и на e-mail.
    Ответ написан
    Комментировать