Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
maaaaaaan

Андрей Андреев

верстка
  • 1
    вклад
  • 17
    вопросов
  • 2
    ответа
  • 50%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Как на сервере unix отследить пк, который маскирует свой user-agent под мобильные устройства?

    xmoonlight
    xmoonlight @xmoonlight
    https://sitecoder.blogspot.com
    Мобила - это когда onhover отсутствует :)
    Мобила(useragent)+onhover = ЭТО ОН!!!
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как на сервере unix отследить пк, который маскирует свой user-agent под мобильные устройства?

    NeiroNx
    Александр @NeiroNx
    Программист
    По цифровому "слепку" можно отличить. Для начала считать всех как ПК, но тех кто предоставил впоследствии корректный слепок - как мобильные устройства.
    "user-agent" это просто строка - ее как угодно можно подделать. А слепок это результат работы JS на стороне клиента - тут уже сложнее подделать.
    Ответ написан более двух лет назад
    3 комментария
    3 комментария
  • Где в Modx revo редактировать шаблоны tpl?

    Sanes
    Sanes @Sanes
    /core/elements
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Сложный перенос Wordpress сайта, имеем большой опыт переноса, но тут уже 4 прогера сдались. Поможете?

    azerphoenix
    Орхан Гасанлы @azerphoenix
    Java Software Engineer
    Всегда переношу сайт по разному... все зависит от того, что есть у юзера на хостинге. Если есть SSH, то это радует, а если нет, то можно запаковать сайт средствами рнр. А далее также распаковать средствами рнр. Опять-таки через ssh удобно работать.
    Или скачиваю архивы, далее заливаю через Total Commander + синхронизирую каталоги, чтобы исключить недокачанные файлы... Или можно сайт-донор запаковать при помощи Updraft Plus Backup вместе с ядром ВП и всеми плагинами, темой и т.д.

    Что касается импорта БД, то я обычно изменяю вручную только wp_options (home_url и site_url). После чего устанавливаю плагин Better Search Replace и провожу замену всех строк в БД, в том числе и guid.

    После чего включаю дебаг и проверяю на наличие ошибок. Обычно, никаких проблем не бывает. Желательно отключать плагины перед переносом. Например, плагин Wordfence будет выдавать ошибку, если вы перенесли сайт, не произвели замену в БД, а пути отличаются...
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Сложный перенос Wordpress сайта, имеем большой опыт переноса, но тут уже 4 прогера сдались. Поможете?

    Александр @khvoroffski
    красавчик ковбой филантроп
    Я почти всегда переношу так - ставлю https://ru.wordpress.org/plugins/all-in-one-wp-mig...
    Выгружаю (все кроме фото, обычно фото это гигабайты, их можно заранее копировать из старого в новый по фтп)

    Далее на новом месте (хостинге/серваке) разворачиваю вп ( с тем доменом что был, т.е. изначально перепривязываем ну или адрес меняет где у вас днс хостится)
    так же ставим https://ru.wordpress.org/plugins/all-in-one-wp-mig... и импортируем.

    Чтобы голословным не быть уже точно более 100 так перенес и магазинов и блогов и прочего.
    *в настройках можно изначально указать на какой домен будет перенос если смена адреса, если нет - оставляем как есть.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Парсинг цифр из элементов DOM и создание из них классов css?

    lebonnet
    Александр @lebonnet
    ну и замена "х" и создание классов:
    $('.priceSort-table__item td:nth-child(2)').each(function(){
        var $me = $(this),
        	val = $me.html()
        	size = val.split('х');
        $me.html(size.join(' '));
        $me.addClass('l' + size[0]);
        $me.addClass('w' + size[1]);
        $me.addClass('h' + size[2]);
    });
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Парсинг цифр из элементов DOM и создание из них классов css?

    ProjectSoft
    ProjectSoft @ProjectSoft
    Front-end && Back-end разработчик
    $('.priceSort-table__item td:nth-child(2)').each(function(){
    	var item = $(this),
    		parent = item.closest('tr'),
    		text = item.text(),
    		regex = /(\d+)(?:х|x)?/g,
    		match = text.match(regex),
    		arr = [];
    	while ((m = regex.exec(text)) !== null) {
    		arr.push(m[1]);
    	}
    	item.text(arr.join(" "));
    	arr.forEach(function(dig, idx){
    		switch(idx){
    			case 0:
    				parent.addClass('l' + dig);
    				break;
    			case 1:
    				parent.addClass('w' + dig);
    				break;
    			case 2:
    				parent.addClass('h' + dig);
    				break;
    		}
    	});
    });
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как реализовать экспорт данных из excel на лендинг?

    eXcNightRider
    Олег Ас @eXcNightRider
    FullStack Web Developer | DevOps
    В качестве парсера файлов Excel очень хорошо работает вот этот компонент Php Spreadsheet
    Схема стандартная: аплоад файла в безопасном месте, думаю, это понятно, файл читается, парсится, цены записываются в БД. Если хочется вариант без лишних компонентов, то используйте вместо Excel формат csv и стандартные функции php для работы с ним.
    Ответ написан более трёх лет назад
    5 комментариев
    5 комментариев
  • Opencart 2.3 в категориях в кратком описании товара проблема с кодировкой, знаки вопроса?

    Immortal_pony
    Immortal_pony @Immortal_pony
    пробывал mb_strlen, не помогло

    Надо все str* функции заменить на mb_str*. В данном случае нужны mb_strlen и mb_substr

    <?php 
    if(mb_strlen($product['description']) > 120) { 
        echo mb_substr($product['description'], 0, 120) . '..'; 
    } else {
        echo $product['description']; } 
    ?>
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как ajax передать параметр атрибута data у тега?

    Stalker_RED
    Stalker_RED @Stalker_RED
    var elem = $('.js-calc')
    var data = {
        price: elem.data('price'),
        info: elem.data('info'),
        show: elem.data('show')
    }
    
    $.post( "test.php", data)
        .done(function( data ) {
            alert( "Data Loaded: " + data );
        });
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Opencart как сделать вывод товаров в меню категорий слева, модули не предлагайте, все перерыл, такого нет?

    zoonman
    Philipp @zoonman
    В голове опять туман? - Кури скорее ман!
    catalog/view/theme/default/template/module/category.tpl

    ... ищем строку
                <a href="<?php echo $child['href']; ?>" class="active"> - <?php echo $child['name']; ?></a>
    
    дальше пишем кусок с перебором товаров примерно так, не забудьте про стили и необходимые проверки
    
    <?php if (isset($child['products'])) {  ?>
    <ul>
        <?php foreach ($child['products'] as $product) { ?>
          <li><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></li>
    <?php } ?>
    </ul>
    <?php } ?>
    
    + еще надо поправить определение текущей категории по товару
    и вытаскивание товаров для активной категории
    
    catalog/controller/module/category.php
    там, где наполняются категории
    
    $children_data[] = ...;
    
    нужно добавить кусок из catalog/controller/product/category.php
    
    переписать вот это примерно так, но поисправлять все!
    
    $data = array(
    				'filter_category_id' => $child['category_id'],
    				'filter_filter'      => $filter, 
    				'sort'               => $sort,
    				'order'              => $order,
    				'start'              => ($page - 1) * $limit,
    				'limit'              => $limit
    			);
    			$results = $this->model_catalog_product->getProducts($data);
    
    и засунуть эти результаты туда, к $children_data
    вроде следующего
    
    $children_data[] = array(
    					'category_id' => $child['category_id'],
    					'name'        => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
    					'href'        => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])	,
    
    'products' => $results 
    
    				);
    
    если много товаров, эта хрень может тормозить
    Ответ написан более трёх лет назад
    7 комментариев
    7 комментариев
  • Скрипт на js переписать на php?

    henhanshi
    Магжан Биргебайулы @henhanshi
    Маг
    function fgetDate(){
    	$months = array('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря');
    	$date = time() + (60*60*24*2);
    	
    	return date('d', $date).' '.$months[ date('m', $date)-1 ];
    }
    
    echo fgetDate();


    в PHP функция getDate() уже занята
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Simpla - бесплатные аналоги, или не такие дорогие?

    seoperin
    Евгений Перин @seoperin
    Full stack web developer. Laravel / Vue
    Без корзины подойдет вордпресс с дополнительными полями
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Не получется сделать скрипт, который проверяет текущую дату на сервере и прибавляет +2 дня к цифре в теге?

    isqua
    Alex @isqua
    Научу HTML, CSS, JS, BEM и Git
    function getDate() {
      var months = [ 'января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря' ];
      var date = new Date(); // Получаем сегодняшнюю дату
      date.setDate(date.getDate() + 2); // Прибавляем два дня
    
      return date.getDate() + ' ' + months[date.getMonth()];
    }
    
    function setGiftDate() {
      Array.prototype.forEach.call(document.querySelectorAll('.data'), function(elem) {
        elem.innerHTML = giftDate;
      });
    }
    
    setGiftDate(getDate());

    <p>До <span class="data"></span> получите подарок.</p>
    <p>Получите подарок до <span class="data"></span>.</p>
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Не получется сделать скрипт, который проверяет текущую дату на сервере и прибавляет +2 дня к цифре в теге?

    Tema @Tem_ka
    var today = new Date();
    var then = new Date(today.getTime() + 2*60*60*24*1000);
    document.getElementById('data').innerText = then.getDate();
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Не получется сделать скрипт, который проверяет текущую дату на сервере и прибавляет +2 дня к цифре в теге?

    Stalker_RED
    Stalker_RED @Stalker_RED
    JS в браузере понятия не имеет какое время на сервере. Можно серверным скриптом прописать серверное время на странице.
    var serverTimestamp = <?php echo time();?> // или какой там у вас серверный язык
    var serverDate = new Date(serverTimestamp)
    var day = serverDate.getDay()


    Остается добавить двойку и вывести в спан
    document.getElementById('data').innerHTML = day + 2;
    Ответ написан более трёх лет назад
    6 комментариев
    6 комментариев
  • Что использовать для создания css спрайтов svg изображений?

    GruZZ
    Николай Садовников @GruZZ
    HTML-верстальщик
    2014.codefest.ru/lecture/677 — презентация Тимофея Чаптыкова, близкая к вашей теме.
    Из неё вы узнаете:
    — про инструменты для сборки спрайтов через Grunt,
    — почему SVG-спрайты принесут вам только боль и лучше делать отдельные иконки и переводить их в data-uri,
    — как сделать фоллбек на PNG-спрайты.

    Сами SVG лучше импортировать из вектора посредством какого-нибудь Inkscape и прогонять через SVGO (можно автоматизировать через тот же Grunt).

    P.S. caniuse.com/#search=svg — поддержка SVG в браузерах.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
Самые активные сегодня
  • rPman
    • 9 ответов
    • 0 вопросов
  • Drno
    • 8 ответов
    • 0 вопросов
  • CityCat4
    CityCat4
    • 7 ответов
    • 0 вопросов
  • Ukaliika
    • 5 ответов
    • 2 вопроса
  • mayton2019
    • 5 ответов
    • 0 вопросов
  • sergey-gornostaev
    Сергей Горностаев
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации