• Убрать слэш / в конце URL

    Majak
    @Majak
    Вдруг кому-то и сгодится.
    У меня, для своих нужд, получилось следующим образом:

    DirectorySlash Off

    RewriteEngine on
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} -d
    RewriteCond %{REQUEST_URI} ^(.+)/$
    RewriteRule ^(.*)/$ $1 [L,R=301]

    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^(.*)$ $1/index.php [L]

    Это для директорий, которые ни как не хотели слушаться.

    Для просто url-ов, можно добавить, ещё одну строчку:

    RewriteRule ^(.*)/$ $1 [L,R=301]
    Ответ написан
    1 комментарий
  • Почему приходит пустой PROPERTIES из arResult?

    ioxio
    @ioxio
    Web-developer
    Возможно не проставлены параметры у свойств Инфоблока:
    636fea5158c5e187663989.jpeg
    Ответ написан
    Комментировать
  • Как найти шаблон инфоблока в 1c bitrix?

    @tgarl
    Самое простое это переключиться на режим редактирования, навести на компонент курсор, рядом с шестеренкой нажимаем стрелочку и редактировать шаблон - будет путь.

    А так смотрите один из вариантов
    /local/templates/.default/components/bitrix/catalog.section.list/
    /bitrix/templates/.default/components/bitrix/catalog.section.list/
    /local/templates/ШАБЛОН_ВАШЕГО_САЙТА/components/bitrix/catalog.section.list/
    /bitrix/templates/ШАБЛОН_ВАШЕГО_САЙТА/components/bitrix/catalog.section.list/
    Ответ написан
    1 комментарий
  • Почему не загружается video html?

    @PinBib
    Может использовать функцию play с самого начала загрузки страницы , и потом останавливать видео до использование функции
    Ответ написан
    4 комментария
  • Сколько в среднем занимает вёрстка и натяжка интернет-магазина на CMS?

    @dmitry-toster
    Неделя вполне себе адекватный период и это только на верстку, о какой натяжке вы говорите за 3дня!? Говорю как человек который "натянул" ни один магазин. Верстка уникального дизайна = неделя + натяжка столько же. Итого 2 недели на полноценный магаз как минимум. Не стоит также забывать про фильтры в поиске товаров, вкладки, аккордионы и проч. динамические свистоперделки, которые не всегда есть смысл верстать, а изменить стили у уже готовых плагинов этих CMS, что по времени может оказаться дольше, чем делать самому с нуля
    Ответ написан
    1 комментарий
  • Как вывести дочерние рубрики родителя get_terms wordpress?

    @IvanMogilev
    Backend developer: Wordpress,Yii
    Держите, скопировал с проекта своего, у меня тут ооп, думаю под функции переделаете
    public static function get_taxonomy_hierarchy( $taxonomy, $parent = 0 ) {
          
            $taxonomy = is_array( $taxonomy ) ? array_shift( $taxonomy ) : $taxonomy;
        
            $terms = get_terms( $taxonomy, array( 'parent' => $parent ,'hide_empty'=>0) );
    
            
            $children = array();
           
            foreach ( $terms as $term ){
                
                $term->children = self::get_taxonomy_hierarchy( $taxonomy, $term->term_id );
              
                $children[ $term->term_id ] = $term;
            }
         
            return $children;
        }
    
        public function get_taxonomy_hierarchy_multiple( $taxonomies, $parent = 0 ) {
            if ( ! is_array( $taxonomies )  ) {
                $taxonomies = array( $taxonomies );
            }
            $results = array();
            foreach( $taxonomies as $taxonomy ){
                $terms = get_taxonomy_hierarchy( $taxonomy, $parent );
                if ( $terms ) {
                    $results[ $taxonomy ] = $terms;
                }
            }
            return $results;
        }
    Ответ написан
    1 комментарий
  • Как разбить вывод постов в WordPress по три?

    artzolin
    @artzolin Куратор тега WordPress
    php, WordPress разработка сайтов artzolin.ru
    Вы можете создать счетчик и проверять, что при делении его на число 3 получается целое число и вы выводите дополнительные <div>

    // Задаем нужные нам критерии выборки данных из БД.
    $args = array(
    	'post_type'      => 'projects',
    	'posts_per_page' => 9,
    );
    
    $query   = new WP_Query( $args );
    $counter = 1;
    
    // Цикл.
    if ( $query->have_posts() ) {
    
    	echo '<div>';
    
    	while ( $query->have_posts() ) {
    		$query->the_post();
    
    		echo '<div>' . get_the_title() . '</div>';
    
    		if ( is_int( $counter / 3 ) ) {
    			echo '</div>';
    			echo '<div>';
    		}
    
    		$counter++;
    	}
    
    	echo '</div>';
    }
    else {
    	// Постов не найдено.
    }
    
    // Возвращаем оригинальные данные поста. Сбрасываем $post.
    wp_reset_postdata();
    Ответ написан
    1 комментарий
  • Как группировать каждые 3 элемента массива в foreach?

    0xD34F
    @0xD34F
    $arr = array_chunk(range(1, 12), 3);
    foreach ($arr as $chunk) {
      echo "<div>";
      foreach ($chunk as $value) {
        echo "<div>$value</div>";
      }
      echo "</div>";
    }
    Ответ написан
    1 комментарий
  • Как запустить 2 сайта на локалке в nginx?

    Viji
    @Viji
    DevOps Engineer
    Привет,

    тебе нужно удалить default_server отсюда везде, пусть слушает на этом же порту. Сделай еще один такой же конфиг файл, там напиши другое имя сервера вместо server_name tlaravel.loc наприме vasya.ru

    убедись что nginx его видит, пропиши путь к файлам этого сервера, убедись что vasya.ru ссылается на тот же IP адрес как и tlaravel.loc и будет тебе счастье... если у тебя все в контейнере, то тебе надо подгрузить свой сайт через Dockerfile в этот же контейнер
    Ответ написан
    Комментировать
  • Как исправить ошибки в консоли от javascript?

    @kttotto
    пофиг на чем писать
    У Вас бесконечный цикл, нет условия проверки значения i, индекс выходит за пределы размера массива aboutSliderItem и там соответственно нет тех свойств, которые Вы хотите прочитать. Подозреваю, что нужно
    for (let i = 0; i < aboutSliderItem.length; i++)
    Ответ написан
    1 комментарий
  • Как учить технический английский?

    xtala
    @xtala
    Постигает Дзен
    Lingualeo + Rosetta Stone.
    Lingualeo для словарного запаса. Перед обучением обязательно пройди тестирование и укажи направление обучения IT.
    Rosetta Stone для слуха. Очень удивился когда буквально пару раз позанимался с этой программой и начал в англоязычных аудио четко различать почти каждое слово. До этого вообще речь на слух не воспринимал хотя читал вполне уверенно. Было что-то типа: "Blalalala bool bool Blalalala Bool Fuck Suck..."
    Лингвалео бесплатен, розетский камень тоже хм.... бесплатен... На торрентах бесплатен, если ты конечно понимаешь о чем я :).
    Найдешь усе сам.
    Ну а если не найдешь, то лучше иди перебирать картофель на овощебазу.
    Ответ написан
    7 комментариев
  • Как учиться новому после рабочего дня?

    @Yarrs
    Привет, тоже кину пять копеек.
    Во первых задай себе вопрос, чего ты хочешь, и чего тебе надо. С этого надо начать.
    Мы что-то делаем не просто так, а ради чего-то. Задай себе простые вопросы, кто ты, где ты находишься, в чем твои цели и предназначение. Программирование само по себе отстой, но с него можно начать. Когда то в 80 годы меня обуял восторг, когда я в классе третьем смог понять смысл a=a+1 Но с тех пор много воды утекло. Пойми чем ты хочешь на самом деле заниматься. Что является твоей настоящей целью, заработать денег, вырасти в социуме, поднять детей, прожить интересную жизнь. Как правило в жизни не выйдет получить всё, время это такой ресурс, который можно пустить либо туда, либо туда, либо еще куда. Делай всегда это с умом.

    Когда поймешь что тебе нужно, составь список целей, цели это не что-то постоянное, но вполне себе динамичное и постоянно меняющееся, мы меняемся, мир меняется. Следуй своим целям. Запомни один хороший принцип - возьми сначала себе. Работа хорошо, ты лучше. Как и где взять дело твое. Способы есть разные. Я ниже напишу немного конкретики. Каждый день нужно осознавать свой список целей и учитывать его в текущем дне. Ставить себе задачи на день и назначать самую важную. Если ты не выполнил эту задачу, считай что день неудачен. Каждый день выдели 15 минут времени вечером и делай анализ дня. Это вместе с пониманием своих ценностей и целей самое важное.

    Теперь немного конкретики.
    Вариантом отщепить время себе масса.
    1) Сними комнату рядом с работой.
    2) Вставай раньше. Ложись раньше
    3) Усталость, это усталость от схожего вида деятельности. Усталость можно легко побороть если заняться чем-то иным. Умственно / физически например переключается будь здоров.
    4) Первый час на работе посвяти только обучению. Обычно люди первый час тратят на котиков, чатики и прочую п-нь, будь не как все.
    5) Поговори с начальником, и скажи что тебе нужно развиваться и обучаться. Посмотри на реакцию. Если он не монстр вопрос можно решить.
    6) Всегда думай перед тем как делать. Решения существуют, часто не на поверхности.

    Теперь несколько вредных советов. Как стоит жить и работать.
    1) Если решил связать свою жизнь с программированием, стоит понимать, что платят те у кого есть деньги, и платят столько сколько готовы заплатить. Отсюда выводы. Больше получают узкие специалисты, которые работают с чем то редким и нужным тем у кого есть деньги. Работая на бедных ты заработаешь ровно чуть больше чем на спасибо. Это как у врачей, стоматологи, к которым захаживают сытые бюргеры с зубной болью на коне, кокой-нибудь травматолог / хирург имеют 90 процентов своей обычной клиентуры бомжей и нищебродов. Но процентов 10 попадается людей с деньгами. А вот анестезиолог вообще с клиентурой не работает, денег дополнительно ему вообще не приходит. Отсюда обилие медицинских анекдотов про бедных анестезиологов.
    2) Собственники и заинтересованные в бизнесе люди на платят просто так, а платят за решение проблем. Чем страшнее на первый взгляд проблема, тем больше за нее можно попросить денег. Сложные проблемы решаются разбиением на более мелкие задачки. Но переоценивать свои силы тоже не стоит. Если сделал что-то крутое скромничать не надо. Тебя будут оценивать в том числе по тому, сколько ты просишь.
    3) У предыдущего пункта есть небольшое следствие. Владельцу главное решение и сроки, ему похрен на красоту кода и прочий глупый перфекционизм.
    4) Лучше место работы для получения стартового опыта, какая-нибудь программисткая контора, но она же худшая в плане роста. Ты окружен людьми примерно твоего уровня и способностей, которые будут неизбежно грызться за место под солнцем, каждый твой начальник будет воспринимать тебе как угрозу своему месту. Прорваться в такой системе сложно. Кроме того работать надо на первое звено в пищевой цепочке. Пока линейному программисту что-то перепадет от базовой ставки 10 человек отщипнут по цепочке.
    5) Если ты работаешь в обычной конторе, постарайся выйти со своими идеями на руководителя бизнеса (гендира), он единственный кто заинтересован в проекте в целом, и может воспринять что-то от твоих мыслей лично. Люди ниже просто попытаются тебя использовать в своих целях.
    6) Люди если смотреть поверх бла бла бла всегда действуют в своих интересах, но только так как сами их понимают. Людей можно предсказывать и читать.
    7) Руководители нагружают тех лошадей что тянут. Идеальный работник тот, кто просит мало работает много. Повышения? Не слышали. Зачем повышать того кто хорош на своем месте.
    8) Добиваются чего-то только те, кто выходит за флажки. Есть загон для стада, где всегда будет скучно, обыденно и тухло, но жить можно, есть и другие возможности.
    9) Самая тупая ошибка людей верить, что если будешь хорошо и долго работать что-то изменится. Ничего не изменится.

    Ну хватит в общем, что-то я увлекся, всегда думай головой, вот мой совет.

    ПС: Забыл добавить. Обязательно надо выбираться из провинции в Москву Питер, лучше в Москву. Дальше уже можно как остаться, так и двигать дальше. Если возраст и прочие дела позволяют.
    Ответ написан
    10 комментариев
  • Кто нибудь пробовал работать во фрилансе после работы?

    ColCh
    @ColCh
    Веб разработчик
    Я студент и работаю веб кодером (фриланс). По замерам в Toggl - работать больше 5 часов по сайтам почти никогда не получается (это в выходные, и замер непосредственно работы, а не сидения у компа). Во время будней с парами работаю по часа 3-4, и то не всегда.
    Я хоть и молодой/энергичный, но жить в таком темпе не могу. Недавно выгорел и месяц валялся на диване...

    В общем, хоть это и универ, время и силы он тоже хватает. По опыту своих страданий не рекомендую практиковать "работу после работы".
    Ответ написан
    Комментировать
  • Как добавить слэш в начале ссылки img в modx?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Выставите системные настройки tinymcerte (в обычном tinymce не помню есть ли такие настройки, это для RTE):
    Ссылки в разных контекстах - tinymcerte.links_across_contexts - Да
    Относительные URL - tinymcerte.relative_urls - Нет
    Удалить скрипт хоста - tinymcerte.remove_script_host - Нет
    Ответ написан
    2 комментария
  • Как в modx заменить url для картинок в description?

    ig0r74
    @ig0r74
    MODX-разработчик
    Скорее всего можно просто добавить слэш в начале в src картинки. Т.е. вместо фото-19.jpg нужно так /фото-19.jpg
    Ответ написан
    5 комментариев
  • Как исправить Uncaught ReferenceError: $ is not defined at script.js:4?

    usdglander
    @usdglander
    Yipee-ki-yay
    Видимо script.js грузится раньше чем jquery.js.
    Ответ написан
    4 комментария
  • Как перевести поля Carbon fields с помощью WP multilang?

    it_proger29
    @it_proger29
    Битрикс
    Первый вариант:
    function carbon_lang_prefix() {
    	$current = wpm_get_language();
    	$prefix = '';
    	if ( ! $current ) {
    		return $prefix;
    	}
    	if ( $current == 'ru') {
    		return $prefix;
    	}
    	$prefix = '_' . $current;
    	return $prefix;
    }

    Типо такого. Мы сделали функцию которая добавляет префикс к имени поля.

    Создаем поле:
    Field::make( 'text', 'footer_kop'.carbon_lang_prefix(), 'Копирайт в подвале' )->set_width( 50 ),

    Для вывода полей так же потребуется использовать эту функцию рядом с именем поля.
    echo carbon_get_theme_option( 'footer_kop'.carbon_lang_prefix() );

    spoiler
    Функцию взял с сайта https://misha.agency/wordpress/carbon-fields-polyl... и немного изменил


    ----
    Второй вариант:

    Кстати, наткнулся на готовое решение в документации cf v2.2.0, v3.0.0:
    function crb_get_i18n_suffix() {
        $suffix = '';
        if ( ! defined( 'ICL_LANGUAGE_CODE' ) ) {
            return $suffix;
        }
        $suffix = '_' . ICL_LANGUAGE_CODE;
        return $suffix;
    }
    
    function crb_get_i18n_theme_option( $option_name ) {
        $suffix = crb_get_i18n_suffix();
        return carbon_get_theme_option( $option_name . $suffix );
    }
    Ответ написан
    Комментировать
  • Почему phpmailer выдает 500 оишбку в wordpress?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Чтобы продать что-нибудь полезное решить проблему, надо сначала понимать в чем она состоит, а у вас ошибки выключены... Смотрите логи, или включите вывод ошибок.
    Ответ написан
    4 комментария
  • Как в carbon fields перейменовать кнопки в complex?

    @DeeUs
    То?
    use Carbon_Fields\Container;
    use Carbon_Fields\Field;
    
    add_action( 'carbon_fields_register_fields', 'crb_attach_theme_options' );
    function crb_attach_theme_options() {
        $elemets_labels = array(
            'plural_name' => 'Элементы', //entries
            'singular_name' => 'Элемент', //entry
        );
        Container::make( 'theme_options', 'Дополнительные настройки' )
            ->add_fields(array(
            Field::make( 'complex', 'crb_elemets' )
                ->setup_labels( $elemets_labels )
                ->add_fields( array( /* ... */ ) )
        ));
    }


    https://docs.carbonfields.net/#/fields/complex
    Ответ написан
    Комментировать
  • На каком движке создать онлайн кинотеатр?

    muaythai075
    @muaythai075
    Дизайнер
    Ответ не по сути, но я бы не советовал делать такой онлайн кинотеатр как вы хотите) Как написали выше, скорое все такие сайты вымрут и будем мы все платить за контент как миленькие) Я например уже плачу за музыку. За фильмы иногда.
    Ответ написан
    1 комментарий