• Почему в данном случае не работает Ajax запрос (October Cms)?

    catdesign
    @catdesign
    Веб-разработчик
    Я вам рекомендую никогда не указывать имя обработчика без класса компонента.
    Вы можете словить очень много ошибок, которые будет трудно отследить.

    Например, если на странице будет несколько компонентов с одинаковым методом. Такое часто встречается в Lovata.Buddies, где есть компоненты Login, Registration и тд. С одним плейсхолдер методом onAjax.

    Когда вы указываете в data-request="onAjax" или любой другой метод в случае дубликата оного работать это будет некорректно.

    Поэтому хорошая практика делать так: data-request="ComponentName::methodName".

    Что касаемо вашего вопроса проверьте наличие компонента на странице.
    [Feedback]

    Измените вызов на data-request="Feedback::onFeedback"
    Ответ написан
    Комментировать
  • Как в October cms вывести название товара в Title, а описание в description?

    catdesign
    @catdesign
    Веб-разработчик
    В директории вашей темы в шаблоне layouts/default.htm создаем placeholder.

    {% placeholder meta default %}
       <title>{{ this.page.meta_title }}</title>
       <meta name="description" content="{{ this.page.meta_description }}">
    {% endplaceholder %}


    По умолчанию плейсхолдер содержит метатеги страниц. Это будет работать для staticPages и для CMS страниц.

    Далее если вы хотите вывести не мету страницы, например у вас страница товара и нужно выводить данные товара. Просто вставляете новое содержимое плейсхолдера.

    Предположим что у вас есть страница товара pages/shop/product.htm
    И на странице есть переменная product с моделью товара.
    На странице товара нужно вызвать:

    {% put meta %}
       <title>{{ product.title }}</title>
       <meta name="description" content="{{ product.description }}">
    {% endput %}


    Надеюсь, помог понять принцип.
    Ответ написан
    1 комментарий
  • Как лучше всего скрывать номера телефонов от роботов?

    catdesign
    @catdesign
    Веб-разработчик
    Есть пара простых методов. Но только от ботов.
    1. Подгрузить телефон асинхронно после загрузки страницы
    2. Подстановка номера телефона на жабаскрипт.

    Естественно от челоботов это не спасет. Но вот спарсить будет уже невозможно.
    Ответ написан
    Комментировать
  • Что вы думаете о приложении Sololearn?

    catdesign
    @catdesign
    Веб-разработчик
    Отвечу, хотя и не актуально.
    Приложение не научит новичка. Можете проходить мимо.

    Но оно прекрасно помогает быстро освоить синтаксис для программистов. Сам перепрыгивал с php на python, сейчас изучаю c++.

    Однако знание синтаксиса не делает вас автоматически программистом. Я например изучаю синтаксис в SoloLearn, а дальше шлифую знания книгами. Так уж сложилось что в книге содержаться более подробные знания вплоть до архитектуры языка.

    PHP я учил по книге Котерова -PHP 7
    Python выучил без книг, видимо после php было проще.
    Для c++ купил книгу Стауструп - Второе издание
    Ответ написан
    Комментировать
  • Как избавится от спамных заказов в WooCommerce?

    catdesign
    @catdesign
    Веб-разработчик
    Капча это полумера. Не знаю как, но боты ее обходят. Подойдет только reCAPTCHA v1 (распознавание картинок). Версии 2 и 3 пропускают ботов.

    Более радикальный вариант это асинхронная загрузка форм. То есть подгружать форму через AJAX по кнопке или после загрузки страницы. Боты не дружат с JavaSript насколько я помню. Использую такой метод, более года спама нет. Этот вариант не мучает глаза юзера и прекрасно работает.

    Дополнительно можете "шифровать" контакты, которые опубликованы на сайте. Например, так:

    <!-- Наши ссылки на контакты -->
    <a id="phone" href="tel:бот">берет</a>
    <a id="email" href="mailto:за">щёку</a>
    
    <script>
    // Ожидаем когда страница загрузится
    document.body.onload = function() {
       // Делаем подмену номера телефона
       $("#phone").text("89009009090");
       $("#phone").attr("href", "tel:89009009090");
    
       // Делаем подмену email
       $("#email").text("info@site.ru");
       $("#email").attr("href", "mailto:info@site.ru");
    }
    </script>


    Если сделаете асинхронные формы и подобным макаром спрячете контакты, то автоматический спам вряд ли будет возможен. Однако бойтесь упёртых манагеров, которые посылают спам ручками.

    И не пишите ничего про щёки) есть вероятность, что пользователь может увидеть контент в ссылках до подмены, если интернет слабоват.
    Ответ написан
    Комментировать
  • Как подставить значение слайдера, в максимальное значение другого?

    catdesign
    @catdesign
    Веб-разработчик
    Запилил, добавил в codepen.io. Нужные доп. параметры выставь сам
    stepsSlider.noUiSlider.on('change.one', function() {
      vals = stepsSlider.noUiSlider.get();
      var processed = vals.replace(/ /g, '');
      res = parseFloat(processed, 10);
      // Как то так https://refreshless.com/nouislider/more/#section-update
      stepsSlider2.noUiSlider.updateOptions({
            range: {
                'min': 0,
                'max': res
            }
        });
    });


    Проблема была не в области видимости. Просто ты не посмотрел пример из документации . Там справа есть кнопка Updating the slider with new options on button click нажми на нее и увидишь примеры.
    Ответ написан
    1 комментарий
  • Как запретить слать запросы, если нажали на определенную кнопку в течение какого то времени?

    catdesign
    @catdesign
    Веб-разработчик
    Я так понял это где-то на сайте. Есть очень простой вариант. Вам может подойти, если нет желания изучать как юзать очереди.

    <button class='button' onclick="hideButton(this)">Кнопка</button>
    
    <script>
       function hideButton(button) {
           $(button).remove(); // Удалить кнопку, но можете с ней делать что угодно
       }
    </script>
    Ответ написан
    2 комментария
  • Некорректно работает поиск Wordpress?

    catdesign
    @catdesign
    Веб-разработчик
    Вы через плагин добавили произвольный тип записи? Если да, то он и не должен работать.

    Вам нужно добавить ваш тип записей в фильтры:
    function wph_search_all($query) {
        if ($query->is_search) {
        $query->set('post_type', array(
    	   'post', 'page', 'custom_type1', 'custom_type2'
    	)); }
        return $query;
    }
    add_filter('the_search_query', 'wph_search_all');
    Ответ написан
    Комментировать
  • Как сделать автоматическое копирование адреса объявления в текст сообщения?

    catdesign
    @catdesign
    Веб-разработчик
    Попробуй так:

    https://wa.me/79009009090?text=https://vk.com/

    79009009090 = номер телефона вводить именно в таком формате без плюсов, скобок и тд
    Ответ написан
  • Как скрыть стиль при вход с телефона?

    catdesign
    @catdesign
    Веб-разработчик
    А чем это плохо?
    /* Этот код сработает на экранах размером <= 576px по ширине*/
    @media (max-width: 576px) {
         /* Тут твой код */
    }
    Ответ написан
    Комментировать
  • Как в Bootstrap увеличить margin/padding?

    catdesign
    @catdesign
    Веб-разработчик
    Во-первых, не надо использовать бутстрап. Раньше это была хорошая библиотека, но сейчас она не нужна. Есть Flexbox!

    Во-вторых, по опыту использования бутстрап. Если вы меняете стандартные отступы, значит вы делаете что-то не так. Скорее всего пофиксив один отступ вы приколотите всю верстку на костыли.

    И наконец в третьих. Вам ничего не мешает сделать так и окончательно все сломать:
    body .m-5, body .p-5 {
        padding: 0 5rem;  /* Если не сработает, то исправьте на padding: 0 1rem !important; */
    }
    Ответ написан
  • Как удалить неактуальные публикации на wordpress?

    catdesign
    @catdesign
    Веб-разработчик
    Что бы понять что популярное, а что нет должна вестись какая-то статистика. Например, лайк - дизлайк или кол. просмотров. Ни первого ни второго в вордпрессе нет.

    Так что в рамках вашего вопроса ничего сделать нельзя.
    Однако гибко удалить мусор можно через SQL запрос. Но я так понимаю это не ваш вариант.

    https://wordpress.org/plugins/bulk-delete/ - рекомендую попробовать этот плагин)
    Ответ написан
    Комментировать
  • Как сделать похожий background?

    catdesign
    @catdesign
    Веб-разработчик
    Ваш вопрос очень не простой, так как фон будет разный на разных экранах. Вы установили высоту в 700px это ок. Но вы не учитываете ширину экрана. Если хотите точного соответствия картинки на экране я бы рекомендовал вам поместить изображение в виде тега img

    То есть создать нечто такое:

    <section class="main">
          <div class="main__content">
             <!-- Тут будет содержимое (кнопки, текст и тд) -->
          </div>
          <img src="/image_1920.png" alt="">
    </section>


    Необходимые стили

    .main {
        position: relative;
    }
    .main__content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }


    Таким образом вы получите оригинальное соотношение сторон а .main_content накроет изображение и в нем вы сможете запилить контент. И бонусом вы можете использовать srcset, юзеры на смартфонах скажут вам спасибо)
    Ответ написан
    Комментировать
  • Как заменить прописывание путей, если заменить расширение файлов?

    catdesign
    @catdesign
    Веб-разработчик
    Ну как поменять расширение файлов быстро в голову не приходит. Разве что в папке с проектом выполнить поиск .html и потом в выдаче, переименовывать по очереди все в .php

    Что касается путей, то поиск с заменой точно так же ищем .html, выделяем все (selected all), стираем и пишем .php. Все нормальные редакторы это умеют.
    Ответ написан
    Комментировать
  • Как красиво переделать дефолтные фильтры woocommerce?

    catdesign
    @catdesign
    Веб-разработчик
    У вас довольно неконкретный вопрос. Вы как бы спрашиваете, как починить машину, а вам нужно спросить более детально. Например: Как заменить поршневые кольца у двигателя такого то автомобиля.

    То есть ответить на ваш вопрос можно примерно так: Нужно изучить php, js, wordpress и woocommerce. Но я так полагаю такой ответ вас не устроит.

    Постараюсь ответить хотя бы как действовать без конкретных примеров)

    Вам необходимо найти в своей теме шаблон, где выводятся фильтры, найти вывод фильтра range (ползунок). Далее подключаете этот прекрасный плагин - ionden.com/a/plugins/ion.rangeSlider и согласно его документации интегрируете в вашу тему.

    Извиняюсь конечно, но если у вас будет более конкретный вопрос, постараюсь помочь, а пока только так)
    Ответ написан
  • Хочет ли кинуть заказчик на upwork в такой ситуации?

    catdesign
    @catdesign
    Веб-разработчик
    Чего же вы юзайте дрянной upwork?)

    Давайте рассуждать логически. В данном случае ваш вопрос имеет психологический контекст.

    Причины такого поведения:
    1. Заказчик вам не доверяет
    2. Заказчик хочет обмануть
    3. У заказчика сейчас нет денег, тянет время

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

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

    Выводы: Проверьте его аккаунт, рейтинг, сколько заказов успешных, дата регистрации. Если все норм, то можете спокойно работать без предоплаты. Возможно ваш аккаунт "свежий" и от того такие, казалось бы странные просьбы у заказчика.
    Ответ написан
  • С помощью какого фронтенд-фреймворка реализован личный кабинет на скрине?

    catdesign
    @catdesign
    Веб-разработчик
    Вы не сможете определить это)
    Ответ написан
    Комментировать
  • Чем плохо выносить повторяющиеся элементы дизайна в отдельные файлы и подключать их потом с помощью PHP?

    catdesign
    @catdesign
    Веб-разработчик
    Абсолютно ничем не плохо. Все ровно наоборот.
    Нужно руководствоваться поставленной задачей. Если у вас одностраничный сайт, то выносить все отдельно нет смысла. Хотя в особо длинных лендингах это позволяет облегчить читаемость кода.

    Что касается многостраничных сайтов, то разбиение на фрагменты жизненно необходимо, потому что главное правило программиста - не дублировать код. Ленивый программист = хороший программист!
    Ответ написан
    Комментировать
  • Как сделать кастомный скролбар на чистом js?

    catdesign
    @catdesign
    Веб-разработчик
    Вы это в качестве эксперимента затеяли?

    Алгоритм то не сложный, надо скрыть стандартный скролл, сверстать новый и далее придумывать велосипед высчитывая формулу по которой будет отображаться ваш кастомный скроллбар.

    Эта дока вам поможет - https://learn.javascript.ru/metrics-window
    Ответ написан
    Комментировать
  • ВЕБ студия с сотрудниками фрилансерами?

    catdesign
    @catdesign
    Веб-разработчик
    1. Фрилансер - это черная дыра. Нет никаких гарантий, что вы с первого раза найдете хорошего специалиста. Вы потратите массу времени походив по рукам как портовая путана, потеряете массу времени и сил. В итоге скорее всего специалиста вы найдете, но какой ценой?

    2. Нет слово бесплатно. Бесплатно будут работать только молодые специалисты, которых вы воспитаете. И то не долго, постепенно их интерес и отеческие симпатии пропадают, люди имеют свойство развиваться.

    3. Дешевые предложения на фрилансе можно сразу отметать, шанс, что эти специалисты чего-то могут резко приближается к нулю. Нормальные же предложения по стоимости приближены к студийным.

    Вывод: Строить свою веб-студию можно только из своих коллег по цеху с которыми вы уже работали. Для этого желательно самому побыть фрилансером или же поработать в студии. Однако помимо кадровой работы у вас должна быть тонна знаний из разряда всего понемногу. Иначе вы останетесь без денег с лапшой на ушах
    Ответ написан
    1 комментарий