Задать вопрос
  • Что указать в поле priceValidUntil при микроразметке?

    Вот такая функция выводит дату для поля priceValidUntil в нужном формате:
    $date = date('Y-m-d', strtotime("+365 day"));
    К текущей дате добавляется 1 год. Срок действия цены - 1 год.
    Ответ написан
    Комментировать
  • Что указать в поле priceValidUntil при микроразметке?

    @unsweet
    <meta itemprop="priceValidUntil" content="<?= date('Y-m-d',strtotime(date("Y-m-d", mktime()) . " + 3650 day"));?>">
    Ответ написан
    Комментировать
  • Как задать блоку который находится в контейнере ширину на весь экран?

    Вот так - codepen.io/AXP/pen/WpqrjG

    .full {
        width: 100vw;
        position: relative;
        margin-left: -50vw;
        left: 50%;
        margin-bottom: 30px;
    }

    При этом адаптивность сохранится

    Актуально для всего кроме IE > 9 тут смотреть
    Ответ написан
    3 комментария
  • Как сделать слайдер вертикальным в slick?

    galkan
    @galkan
    $('.you-class').slick({
    vertical: true;
    });
    Ответ написан
    Комментировать
  • Можно ли заставить owl carousel листать сразу по несколько слайдов?

    @BelkinVadim
    Frontend разработчик
    Customizing, параметр scrollPerPage вроде за это отвечает. Будет листать не по одному, а сразу все слайды на странице.
    Ответ написан
    1 комментарий
  • Убрать кэширование в ФФ

    fStrange
    @fStrange
    Зайдите повторно в phpMyAdmin убрав в ссылке все после вопросительного знака. Вы пытаетесь зайти, а по ссылке передается старый session_id. И на него же происходит редирект после авторизации.
    Ответ написан
    4 комментария
  • Как обернуть контент в нужные тег через js?

    @nvdfxx
    Senior Pomidor developer
    [...document.querySelectorAll('td.active')].forEach(e => e.innerHTML  = `<div>${e.innerHTML}</div>`)
    Ответ написан
    1 комментарий
  • Вывод картинок к категориям на главной странице?

    glossyweb
    @glossyweb
    Mark marketing
    1. Подключим модель обработки изображения. Занесем в массив вывода меню, изображения.
    Путь: catalog/controller/common/header.php
    Действия: Открываем файл для редактирования, нажмем на клавиатуре CTRL + F, откроется окно для быстрого поиска по файлу.
    Нам нужна строка

    $this->load->model('extension/extension');

    сразу после нее вставляем

    $this->load->model('tool/image');

    мы подключили модель обработки изображения.
    Теперь нам нужно найти перебор массива, ищем строку

    foreach ($categories as $category) {

    В этом переборе есть два нужных нам массива, один для гланвых пунктов меню и другой для дочерних.

    Это массив главных категорий
    $data['categories'][] = array(
    'name' => $category['name'],
    //Подключить вывод изображения
    'thumb' => $this->model_tool_image->resize($category['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')),
    //
    'children' => $children_data,
    'column' => $category['column'] ? $category['column'] : 1,
    'href' => $this->url->link('product/category', 'path=' . $category['category_id'])
    );

    Это массив дочерних категорий

    $children_data[] = array(
    'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
    //Подключить вывод изображения
    'thumb' => $this->model_tool_image->resize($child['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')),
    //
    'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
    );

    Строку thumb я добавил, она и отвечает за вывод. Вы спросите откуда берется размер генерируемой иконки - из админки, в настройках во вкладке изображения "Размер изображения в списке категорий".

    Так же можно самому указать ширину и высоту, вот пример для дочерней категории:
    $this->model_tool_image->resize($child['image'], 20, 20),
    Обратите внимание переменная $child - это дочерняя, а $category - родительская категория.

    2. Вывод переменно в шаблон.

    Путь: catalog/view/theme/*/common/header.tpl

    Действия: Открываем файл для редактирования, нажмем на клавиатуре CTRL + F, откроется окно для быстрого поиска по файлу. Нам нужна строка

    <?php if ($categories) { ?>

    href' => $this->url->link('product/category', 'path=' . $category['category_id'])
    );

    Это массив дочерних категорий

    $children_data[] = array(
    'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
    //Подключить вывод изображения
    'thumb' => $this->model_tool_image->resize($child['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')),
    //
    'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
    );

    Строку thumb я добавил, она и отвечает за вывод. Вы спросите откуда берется размер генерируемой иконки - из админки, в настройках во вкладке изображения "Размер изображения в списке категорий".

    Так же можно самому указать ширину и высоту, вот пример для дочерней категории:
    $this->model_tool_image->resize($child['image'], 20, 20),
    Обратите внимание переменная $child - это дочерняя, а $category - родительская категория.

    2. Вывод переменно в шаблон.

    Путь: catalog/view/theme/*/common/header.tpl

    Действия: Открываем файл для редактирования, нажмем на клавиатуре CTRL + F, откроется окно для быстрого поиска по файлу. Нам нужна строка

    <?php if ($categories) { ?>
    "/>
    Ответ написан
    1 комментарий
  • PHP как остановить цикл если сработало условие?

    @Galdar
    Web, JS, PHP, NGINX, Linux
    return - возвратит значение из функции
    break - остановит функцию
    continue - возвратит в начало операции и начнёт со следующего значения

    Для функции советую использовать return:
    $a = 1;
    if($a > 0){
    $result = "Вывод значения из функции при соблюдении условия";
    return $result;
    }


    Максимально просто и понятно пытался написать
    Ответ написан
    Комментировать
  • Как быстро залить на ftp?

    raebg
    @raebg Автор вопроса
    Как посоветовал уважаемы zooks
    FileZilla решил проблему 10 потоков, без ограничения - в принципе летит хорошечно, и что я раньше его не ставил, знал же про него все вот по старинке тотал..
    --------
    но вот удаление с сервака, по прежнему долговато..
    в настройках зиллы не нашел тут быстроты..
    Ответ написан
    Комментировать
  • Убрать автоперенос строк при форматировании(ctrl+alt+f) в vscode(win10)?

    @freelion93
    В настройках конфигурации F1 => Open Settings (JSON) пропиши следующее свойство:

    "editor.wordWrap": "off",

    P.S. Если включены различные линтеры типа ESLint или Beautify то их тоже либо настроить либо удалить
    Ответ написан
    3 комментария
  • Как инициализировать слайдер после AJAX загрузки?

    В случае, если использовать observerUpdate, вы столкнётесь с сотнями повторений выполнения функции, для решения проблемы достаточно сделать повторную инициализацию после ajax запроса

    function loadProjectsPostType(category) {
    
                $.ajax({
                    url: '/wp-admin/admin-ajax.php',
                    type: 'POST',
                    cache: true, // включить кэширование
                    data: {
                        action: "load_projects",
                        category
                    },
    
                    beforeSend: () => $('.loader').addClass('active'),
    
                    success: function (data) {
                        $('.loader').removeClass('active');
                        $('.projects__items').html(data);
    
                        const projectSliders = document.querySelectorAll('.project-slider')
    
                        projectSliders && projectSliders.forEach(slider => {
    
                                let projectSlider = new Swiper(slider, {
    
                                    observer: true,
                                    observeParents: true,
                                    observeSlideChildren: true,
                                    navigation: {
                                        nextEl: slider.querySelector('.swiper-button-next'),
                                        prevEl: slider.querySelector('.swiper-button-prev'),
                                    },
                                    spaceBetween: 20,
                                    slidesPerView: 1,
    
                                })/* projectSlider */
                        }) /* forEach */
                    },
    
                    error: function(xhr, status, error) {
                        $('.error').addClass('active')
                        console.log("Ошибка запроса. Код ошибки: ",error);
                    }
                })
            }
    Ответ написан
    Комментировать
  • Как создать макет страницы товара, отличный от других?

    @oleg_plotnik
    Разработчик
    Столкнулся со схожей проблемой. Решения в интернете не устроили. Сделал свой вариант, может кому пригодится.
    Добавляем в catalog\model\catalog\product.php новую функцию
    // получение пути шаблона
    public function getProductLayoutRoute($layout_id) {
    	$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "layout_route WHERE layout_id = '" . (int)$layout_id . "'");
    	if ($query->num_rows) {
    		return $query->row['route'];
    	} else {
    		return "";
    	}
    }


    Меняем в catalog\controller\product\product.php строку
    $this->response->setOutput($this->load->view('product/product', $data));

    на
    $layout_id = $this->model_catalog_product->getProductLayoutId($product_id);
    if($layout_id) {
    	$route = $this->model_catalog_product->getProductLayoutRoute($layout_id);
    	// проверяем существование файла шаблона
    	$filepath = DIR_TEMPLATE . $this->config->get('config_theme') . '/template/' . $route . '.tpl';
    	if(file_exists($filepath)) {
    		$this->response->setOutput($this->load->view($route, $data));
    	} else {
    		$this->response->setOutput($this->load->view('product/product', $data));
    	}
    } else {
    	$this->response->setOutput($this->load->view('product/product', $data));
    }


    Далее, создаем копию product.tpl и называем его, скажем, zakaz.tpl. Контроллер копировать НЕ надо.
    В админке добавляем макет Zakaz, указываем путь к новому файлу шаблона product/zakaz (без tpl). Идем в товар, меняю ему дизайн с Product на Zakaz.
    Ответ написан
    2 комментария
  • Как скопировать введенное значение из одного input в другой input?

    @AFI19
    Изменяйте не текст, а значения поля
    <script>
       $("input").keyup(function () {
         var value = $(this).val();
         $("#second_input").val(value);
       });
    </script>
    Ответ написан
    Комментировать
  • Как определить, содержит ли url определенное слово?

    drugoi
    @drugoi
    Front-end Developer
    if (/json/.test(location.href)) {
      console.info('Ссылка содержит слово json');
    } else {
      console.info('Ссылка не содержит слово json');
    }
    Ответ написан
    Комментировать
  • Как сделать 2 условия в twig?

    error500
    @error500
    PHP-developer
    {% if idgame == editgame and auth == true %}
    Ответ написан
    Комментировать
  • Как добавить поиск yandex в firefox?

    @yard
    С недавних пор Firefox полностью убрал поиск Яндекса.
    Ответ написан
    1 комментарий
  • Как добавить поиск yandex в firefox?

    @trifare
    Сейчас Firefox убрал Яндекс, но его можно добавить самому.
    В настройках поиска выбираете "Добавить панель поиска на панель инструментов"
    622f735388e2f426198068.png
    Переходите на yandex.ru, нажимаете на плюсик и добавить поисковую систему "Яндекс"
    622f73ebe838c308046562.png
    В настройках меняете поисковую систему на Яндекс
    622f7416e915d402182780.png
    Ответ написан
    1 комментарий
  • Как изменить ширину и высоту Summernote редактора?

    @ortsuev33 Автор вопроса
    прошу прощение , я думал wysiwyg это название редактора а оказывается это лишь название таких веб-редакторов .
    Название редактора Summernote
    Решение проблемы
    $('#description').summernote({
            lang:'ru-Ru',
            height:300,
            maxWidth:1600,
            maxHeight:1800,
            callbacks: {
                onImageUpload: function(files) {
                    var el = $(this);
                    sendFile(files[0],el);
                }
           }
        });

    Свойства Height
    maxHeight
    maxWidht
    настройка ширины и высоты
    Ответ написан
    Комментировать
  • Как инициализировать Swiper в табах?

    @JustFreelance
    front-end developer
    Попробуйте добавить в параметры слайдера:

    observer: true,
    observeParents: true


    Тогда при открытии вкладки, слайдер будет инициализироваться.

    Можете подробнее глянуть в документации: https://swiperjs.com/api/
    Ответ написан
    2 комментария