• Как сделать переключение между категориями при выводе товаров по типу табов без использования сторонних плагинов?

    HelenStar
    @HelenStar Автор вопроса
    Начинающий frontend
    Решила вопрос с помощью доп поля ACF с типом "таксономия". Надо было сразу с него начинать)

    <?php $cats = get_terms(
                        array(
                            'taxonomy' => 'product_cat',
                            'hide_empty' => false,
                        )
                    );
    
                    global $post;
                    $term_slug=$post->post_name;
    
                    $i=0;
                    foreach($cats as $item){ $i++;
                        if($i ==1){
                            $current_cat = $item->slug;
                            if(isset($_GET['cat'])) {
                                $current_cat = $_GET['cat'];
                            }
                        }
                    }
    
                    $terms = get_field('cats');
    
                    if( $terms ): ?>
                            <?php foreach( $terms as $term ): ?>
                                <a href="/<?php print "$term_slug"; ?>/?cat=<?php echo $term->slug; ?>" class="nav_category_catalog w-inline-block">
                                    <div><?php echo $term->name; ?></div>
                                </a>
                            <?php endforeach; ?>
    
                    <?php endif; ?>
    Ответ написан
    Комментировать
  • Снятие денег с Patreon, нужно ли платить налоги в России? будут ли проверять от куда мне приходят деньги?

    HelenStar
    @HelenStar
    Начинающий frontend
    Тоже интересует этот вопрос. Пока что нашла в сети ответ от юриста, что налогом облагаться доход с Патреона не должен, ибо пользователи Патреона - физ лица, которые по сути добровольно дарят креаторам (тоже физ лицам) денежные средства, а перевод в дар денежных средств от физ лиц физ лицам у нас в стране не облагается налогом (правда сейчас государство уже думает о том, как бы начать облагать налогом и Патреон, и даже обычные маленькие суммы, подаренные на ДР). Так что если на Патреоне получаешь пожертвования от физ лиц, то налог платить у нас в стране не обязан. Другой вопрос уже, если тебя там поддерживают не физ лица, а представители юр лица или юр лица (например, в случае с какими-нибудь разработчиками софта или игр). Так что фиг знает, спорный вопрос. Самой интересно как креатору модов для игр) Только в моем случае это будут чистой воды пожертвования от обычных игроков, которые пользуются моими модами, и никаких юр лиц в этом списке не будет) И в моем случае это ни в каком виде не заказы, а именно добровольная поддержка моего творчества, которое я создаю как душе угодно, хоть и с учетом пожеланий в комментах.
    Ответ написан
    Комментировать
  • Новая БД или старая при переносе с домена на домен на одном хостинге?

    HelenStar
    @HelenStar Автор вопроса
    Начинающий frontend
    Хорошо. Спасибо. Сейчас с новой БД попробовала - заработало. В тот раз почему-то только со старой сайт работал, как будто при экспорте часть потерялась. Фиг его знает почему так было в тот раз, но это заставило задуматься о необходимости запарки с новой БД в случае таких глюков, если нет прямой необходимости ее создавать.
    Ответ написан
    Комментировать
  • Как вы начинаете вёрстку сайта?

    HelenStar
    @HelenStar
    Начинающий frontend
    У меня все проще:

    1. Открываю макет, затем изучая его, мысленно разбиваю его на основные блоки (составляю базовую кодовую разметку), определяю повторяющиеся блоки, заранее отмечая в голове у себя где мне понадобятся общие классы, а также быстренько прикидывая как это все будет выглядеть на мобиле (увы, но всегда просят сделать адаптив или мобильную без макетов). На этом с изучением макета все. Уходит на все где-то пара минут, если простой ленд. Если это многостранничник или интернет-магазин, то тогда изучаю сразу все макеты, чтобы также определить для себя, что из блоков и стилей отправится в general.css, а что будет в персональных файлых стилей отдельных страниц, чтобы потом не объединять файлы стилей, не убивать лишнее время.
    2. Открываю breckets, набрасываю сразу базовую разметку всей страницы с учетом того, что это будет адаптив (или респонсив) с помощью удобного и любимого emmet'а.
    3. Стилизую верстку (также сверху вниз блок за блоком).
    4. Делаю адаптив. С учетом того, что уже при верстке декстопа я сразу прикидываю какой у меня будет мобильная версия и верстаю с учетом адаптива или респонсив, то адаптив могу сделать и за рабочий день на все страницы, если только не появятся какие-нибудь сюрпризы с кроссбраузерностью на всяких iOS Safari (которую как front я уже просто ненавижу за какие-то полгода со всеми ее сюрпризами).
    5. Тестирю, допиливаю все, что только можно допилить.

    Это если просто верстка. Если под ключ с админкой (в моем случае modx), то:
    1. Прикидывая и набрасывая верстку также прикидываю какие элементы вынесу в общие чанки, какие будут выводиться всевозмножными сниппетами и т.д.
    2. Делаю верстку, после утверждения переносу в админку, разбиваю все на чанки, доп поля, ставлю необходимые компоненты и т.д.

    В общем, как-то так. :-)
    Ответ написан
    Комментировать
  • Как вывести через pdoresources содержимое migx полей с мультизагрузкой?

    HelenStar
    @HelenStar Автор вопроса
    Начинающий frontend
    Вопрос снят! Как я и думала - дело в кэше. Вот только не знала, где его искать. И кэш из папки core удаляла, и что только не делала. Но подумать не могла, что даже в Источниках файлов надо вызов делать некэшированным)

    Спасибо автору вопроса здесь https://modx.ru/vopros-otvet/info/2663/
    Ну или здесь тоже: https://forums.modx.com/thread/99755/migx-multiupl...
    P.S. До этого эти ссылки мне не попадались в яндекс при поиске( Так бы сэкономила пару дней поисков ответа.

    Если кому интересно, то ответ прост: в путях в источнике файлов прописываем некэшированный вызов migxResourceMediaPath:

    [[!migxResourceMediaPath? &pathTpl=`img/portfolio/projects/{id}/` &createFolder=`1`]] :-)
    Ответ написан
    Комментировать
  • Как во флексах задать ширину колонки по размерам контейнера флекса?

    HelenStar
    @HelenStar
    Начинающий frontend
    Самое простое:
    jsfiddle

    Контейнеру задаете flex-wrap: wrap;
    Первому блоку задаете ширину в 100%, второму и третьему в 50%.

    Потом, если надо будет в мобильной версии сделать второй и третий блок по ширине контейнера, просто измените ширину с 50% на 100%, и все три будут друг под другом.
    Ответ написан
  • Как выполнить скрипт при определенном размере экрана?

    HelenStar
    @HelenStar
    Начинающий frontend
    Если кому интересно, решила все таким образом (это весь скрипт на работающее меню):

    $(window).bind('resize', function(){ 
        if ($(window).width() < 450) {
            $('.main-nav').css('display','none');
            $('body').append('<div class="overlay-3"></div>');
            $('.main-nav').addClass('fadeout'); 
            $('.overlay-3').addClass('fadeout');
            
        $('.mobile-nav-btn').on('click', function() {
            if ($('.main-nav').css("display") == "none") {
                $('.overlay-3').fadeIn(200);
                $('.main-nav').fadeIn(200);
            }    
        });
        
        $(('a.nav-link')).on('click touch', function() { 
            $('.overlay-3, .fadeout').fadeOut(); 
        }); 
        
        $('body').on('click', '.overlay-3', function(event) {
        event.preventDefault();
        $('.overlay-3, .main-nav').fadeOut(200);
        });  
    } 
    else { 
        if ($(window).width() > 450) { 
            $('.main-nav').css('display','block'); 
            $('.main-nav').removeClass('fadeout'); 
            $('.overlay-3').removeClass('fadeout');
            $('.overlay-3').remove();
            }
        }
    }).trigger('resize');


    Только тут объединила все, что связано с мобильным меню в условие только для разрешений < 450px.

    В < 450 $('.main-nav').css('display','none') в начале добавлен для того, чтобы меню не оставалось открытым, если пользователь вдруг повернул экран и в уже не мобильном меню перешел по ссылке (при повороте у меня открывается декстопная версия сайта).

    В > 450 $('.main-nav').css('display','block') аналогично добавлен, чтобы меню не исчезало, если до этого было закрыто через оверлей.

    В общем, не знаю, насколько все грамотно или правильно сделано, но главное, работает. :-)

    P.S. за подсказку с добавлением класса fadeout и .trigger('resize') спасибо Антону. :-)
    Ответ написан
    Комментировать