• Нужна ли какая нибудь более мощная среда разработки чем Open Server если делаешь сайты только для виртуального хостинга?

    @CubaJas
    Web-программист
    Open Server'a достаточно на начальном этапе. На нём Вы спокойно можете изучить интересные для Вас фреймворки, CMS, написать первые сайты, которые как раз будут крутиться на виртуальном хостинге. Но научиться минимально админить VPS (поднять LAMP, к примеру), а потом учиться разворачивать "всякие докеры, хоумстеды и прочие мощные среды разработки" просто необходимо, если Вы хотите уйти дальше, чем разработчик типовых интернет-магазинов и корпоративных сайтов.
    Ответ написан
    1 комментарий
  • CSS действия для вложенного элемента .sticky-top?

    PavelMonro
    @PavelMonro
    Добавляйте ещё один class при движении вниз и удаляйте при возвращении наверх, и к этому классу уже вешайте размер лого и другие стили
    $(window).on('scroll', function (event) {
        var scrollValue = $(window).scrollTop();
        if (scrollValue > 150) {
            $('.navbar').addClass('newclass');
        } else{
            $('.navbar').removeClass(newclass');
        }
    });
    Ответ написан
    Комментировать
  • Есть ли для PhpStorm, что-то вроде плагина Autoprefixer (для css)?

    KaSeo
    @KaSeo
    Front-end разработчик
    Используйте препроцессор для CSS (LESS || SCSS || SASS). В них можете использовать миксины. К тому же препроцессоры значительно упрощают жизнь и повышают производительность)

    Я привык работать с LESS и в каждом проекте есть файл elements.less с набором миксинов:
    .box-shadow(@arguments) {
      -webkit-box-shadow: @arguments;
      -moz-box-shadow: @arguments;
      box-shadow: @arguments;
    }
    .rotation(@deg:5deg){
      .transform(rotate(@deg));
    }

    В коде просто использую потом, например:
    .box-shadow(0 0 10px rgba(0,0,0, .5));
    или
    .box-shadow(0 0 10px fade(#000, 5%));
    Ответ написан
    Комментировать
  • Что такое Less и Sass?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Лень двигатель прогресса. Хороший пример - принцип DRY - Don't repeat yourself. Я весьма подозреваю что вы стараетесь соблюдать этот принцип когда делаете макеты или чем вы там занимаетесь. Так же я весьма уверен что вы хотя бы пытались чуть автоматизировать рутину своей повседневной работы. Так же у вас могли быть ситуации когда вы переиспользовали какие-то элементы. Мало ли.

    Так вот... CSS это тупая таблица стилей. Селектор и стили, ничего сверх умного тут придумать нельзя. Лет 5-10 назад было довольно модно держать один мегажирный CSS файл на 10К+ строк и радоваться жизни внося все больше изменений и т.д. Соответственно даже если вы соблюдаете всякие правила модульной верстки и все такое, у вас возникает несколько проблем:
    • организация стилей, то есть держать все в одном файле не удобно особенно когда проект длится годами
    • Дублирование стилей и селекторов. По мере развития проекта появляются какие-то снипиты которые можно реюзать. Так же у вас может появиться масса однообразных селекторов отличающихся лишь немного. При модульных подходах вложенности редко имеет место быть но все же имеет. Но не будем забывать что большинство фигачит селекторы просто так. В итоге если мы переместили блок или переименовали класс какого-то блока нужно отредактировать еще массу селекторов.
    • Привязка размеров и параметров к другим стилям, например у вас в стилях задана ширина блока, от нее зависят другие параметры, отступы для других блоков и т.д. Да, в css3 появился calc для этого но это было относительно недавно и только с недавних пор можно почти без опаски использовать эту штуку.
    • Таблицы стилей, как и HTML ориентированы на удобный разбор этого добра машиной, но не человеком. Человек же существо ленивое и как-то вот лень лишний раз скобку поставить или точку с запятой. Просто лень.


    Есть так же хорошее правило, или идея если хотите.... Если код можно сгенерить - его лучше сгенерить. То есть для решения всех выше перечисленных проблем придумали препроцессоры. Они как бы были и раньше всех этих scss/less/stylus но как-то не решали всех проблем и т.д. Что в итоге было предложено (перечисляю в том же порядке что и в списке выше).

    • У CSS есть такая штука как @ import. Но не очень круто импортировать сотню стилей в продакшене. Стоит сделать так что бы все стили были склеены при сборке проекта. Эта идея в итоге развилась и если разработчик использует это дело правильно, можно зайти в любой файл со стилями и увидеть список всего от чего зависят эти стили. Какие стили подключаются и т.д. Причем один файл с зависимостями может быть подключен в нескольких файлах а препроцессор сам разберется как и куда все вставлять сгенерив максимально оптимизированный по структуре файл. А разработчик получил четкую структуру файлов и возможность быстро найти где что и от чего зависит.
    • С селекторами проблему предложили решить наиболее логичным вариантом. Если у нас есть вложенные селекторы, то имеет смысл определять их внутри блока этого селектора. Это существенно упрощает поддержку стилей. Так же для управления снипитами и прочим добавили миксины - эдакие параметризованные или нет функции которые выплевывают шматок CSS. До появления штук вроде autoprefixer это был единственный способ писать поддерживаемые стили, использовать плюшки CSS3 и вообще новые плюшки и не сойти с ума от префиксов. Префиксы это только пример, там могут быть самые разные штуки позволяющие грамотно производить реюз стилей
    • Проблему зависимостей значений стилей друг от друга решили... собственно самым очевидным способом - переменные. Это удобно, легко поддерживать и в умелых руках это мощный инструмент. Нужно поменять базовые цвета - не нужно лазить по 100500 блоков и править значения руками, можно поправить переменные и все будет хорошо.
    • Насколько я помню SCSS/LESS не стремились решить эту проблему. Какие-то решения образовывались сами собой с течением времени. В плане минимализма и выразительности пожалуй сейчас самая крутая штука это stylus.


    Что в итоге произошло. В один прекрасный момент какие-то там рубисты придумали SCSS (они вообще не любят все что не в стиле ruby в плане минимализма и выразительности). Затем чуваки подумали и сказали, SCSS это круто но почему-то они используют синтаксис знакомый именно Ruby разработчикам а не обычные для CSS конструкции. В итоге реализовали LESS, причем его уже реализовали на javascript, что с наличием node.js позволило это все добро еще на одной платформе собирать. А так как под эту платформу и так плодили препроцессоры оно удачно вписалось.

    Далее уже шли какие-то модификации дальнейшие, вроде того же Stylus, где синтаксис упростили просто до нельзя.

    Личное мнение. На сегодняшний день я не вижу смысла использовать чистый CSS хоть на малых хоть на больших проектах. Вот вообще никакого.
    Ответ написан
    3 комментария
  • Как передать массив из подфункции?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    generate_timetable_script_data(&$timetable_data)
    Ответ написан
    Комментировать
  • Как передать массив из подфункции?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Комментировать
  • Почему функция возвращает одинаковое значение?

    Exploding
    @Exploding
    wtf?
    Что-то вы перекривили с этим всем))) И функция ничего не возвращает вообще.
    Вот так сделайте, и все нормально будет работать:
    if( have_rows('dates2show') ){
    	
    	 while ( have_rows('dates2show') ){
    		$query_date = date_format(date_create_from_format('d/m/Y', get_sub_field('date')),'Ymd');
    		echo '<h1>' . $query_date. '</h1>';
    		add_action("wp_footer", function() {"<script>alert('$query_date')</script>"},99,11); 		
    	}
    	the_row(); //название конечно...
    	
    }
    Ответ написан
  • Как передать более 1 строки html через data-*?

    webinar
    @webinar Куратор тега PHP
    Учим yii: https://youtu.be/-WRMlGHLgRg
    в атрибутах перенос строки нельзя, ай-ай-ай. Сделайте скрытый блок и туда кидайте или в localStorage
    Ответ написан
    Комментировать
  • Как передать более 1 строки html через data-*?

    razumkov2015
    @razumkov2015
    "Программист" https://vk.com/cgs_game
    Не совсем понял вопрос, но мне кажется, что можно просто все закодировать в JSON, а где надо, парсить его.

    UPDATE:
    Сделайте так: echo "<pre>$data</pre>"
    Ответ написан
    6 комментариев
  • Как передать более 1 строки html через data-*?

    Exploding
    @Exploding
    wtf?
    Так может?
    //v1
    $dataToHtml = nl2br($dataToHtml);
    echo "<tag data-mydata='$dataToHtml'>Ура!</tag>";
    
    //v2
    $dataToHtml = base64_encode($dataToHtml);
    echo "<tag data-mydata='$dataToHtml'>Ура!</tag>";

    А в js тогда:
    var encData = $(this).data('mydata');
    var decodedData = this.atob(encData);

    P.S. Не проверял:) Но должно работать.
    Ответ написан
    4 комментария
  • Как передать более 1 строки html через data-*?

    @synapse_people
    -сделай вложенный элемент с CDATA.
    или
    -замени \r? \n на какой-то символ, который не будет использоватся в значениях и считай, что это перенос строки
    - addslashes , затем stripslashes
    Ответ написан
    Комментировать
  • Как изменить очередность колонок bootstrap?

    iiiBird
    @iiiBird Куратор тега Bootstrap
    Пока ты спишь - твой конкурент совершенствуется
    1 комментарий
  • Как разделить wp_query по рубрикам?

    deniscopro
    @deniscopro Куратор тега WordPress
    WordPress-разработчик, denisco.pro
    <?php
    $cats = get_categories(array(
    	'orderby' => 'name',
    	'order' => 'ASC'
    ));
    foreach ((array) $cats as $cat) :
      $cat_id = $cat->term_id;
    	?>
    	<?php $posts = get_posts(array('category' => $cat_id, 'posts_per_page' => -1)); ?>
    	<?php if ($posts) : ?>
    		<h3><?php echo get_cat_name($cat_id); ?></h3>
    		<?php foreach ($posts as $post) : setup_postdata($post); ?>
    			<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    			<?php
    		endforeach;
    		?>
    		<?php
    	endif;
    endforeach;
    wp_reset_query();
    ?>
    Ответ написан
    7 комментариев
  • Ограничить количество постов в цикле wordpress?

    @cema93
    WordPress разработчик
    Не самый хороший вариант, но исходя из вашего кода надо сделать:
    <?php query_posts( $query_string.'&posts_per_page=10&author=-1,-2,-3,-5' );?>
    Ответ написан
    2 комментария
  • Скрипт фон паутинка которая двигается под мышью?

    trampick
    @trampick
    Веб-разработчик
    Как на этом сайте?
    seolead.pro

    seolead.pro/wp-content/themes/seolead/js/pollyfill.js сам скрипт.
    <div id="introR" class="super_back"><canvas id="pollyfill-canvas"></canvas></div>

    блок для вывода.
    Ответ написан
    4 комментария
  • Как к круглой картинке добавить тень для неё, а не для блока?

    @simplecss
    Front-end.
    Круглых растровых картинок не бывает в вебе =)
    Ответ написан
    1 комментарий
  • Плагин\скрипт купонов вордпресс?

    OlegMifle
    @OlegMifle
    php-программист
    Можно с помощью contactform7 и написать свой обработчик в functions.php. Можно будет и в базу писать и код купона генерить.
    Ответ написан
    3 комментария
  • Как реализовать купоны?

    littleguga
    @littleguga
    Не стыдно не знать, а стыдно не интересоваться.
    Записывайте данные(номер и почту) в базу данных. Также сделайте там поле coupon, в которое будете записывать уникальный идентификатор купона.

    При создании купона -> проверяете есть ли данный телефон или почта в таблице, если да, то пишите, что купон уже получен и не выдаете новый.
    Ответ написан
    4 комментария
  • Бронирование комнат?

    Punkie
    @Punkie
    Юзайте Woocommerce, только товары в номера переименуйте и всё.
    Ответ написан
    4 комментария
  • Как сделать таблицу предложений?

    @entermix
    Ответ написан
    Комментировать