Задать вопрос
  • SvgSprite gulp как правильно прописать путь от корня?

    MacFiss
    @MacFiss
    человек
    Что бы не прописывать абсолютный путь, используйте __dirname, если это необходимо.
    Ответ написан
    6 комментариев
  • Почему не срабатывают стили при скроллинге на мобильном устройстве?

    MacFiss
    @MacFiss Автор вопроса
    человек
    https://api.jquerymobile.com/scrollstart/

    "Note that iOS devices freeze DOM manipulation during scroll, queuing them to apply when the scroll finishes. We're currently investigating ways to allow DOM manipulations to apply before a scroll starts"
    Ответ написан
    Комментировать
  • Как правильнее всего сделать такую стрелку?

    MacFiss
    @MacFiss
    человек
    Используйте абсолютный псевдоэлемент :after, а так же border для создания фигуры.
    Ответ написан
    Комментировать
  • Как передать в php функцию значение с блоки DIV и вывести в определенном месте эту функцию?

    MacFiss
    @MacFiss
    человек
    У меня вопрос к вам: зачем вы хотите реализовать рендеринг через PHP? (что бы подгружать отдельные участки меню по клику?)

    Процесс такой: Реализуете выгрузку вашего меню в типе данных JSON. На стороне клиента получаете данные через $.getJSON(url[,callback]). Полученный объект храните в отдельной выделенной переменной, и по необходимости, например при клике на какой-то участок, рендерьте доп.меню на основании вашего, уже полученного объекта с данными
    Ответ написан
  • Как Яндекс.Такси ищет ближайшего водителя?

    MacFiss
    @MacFiss
    человек
    Как минимум, логика поиска свободных водителей не расположена у клиента в приложении. Поэтому никаких перегрузок по запросам нет.

    Логика такая:
    1) Клиент отсылает запрос на поездку, в месте с ним отсылается его геопозиция на сервер
    2) По приходу запроса на сервер, становится в очередь на выполнение (или сразу же обрабатывается)
    3) Происходит поиск по актуальной базе водителей (где расположены текущие их координаты)
    4) Сервер отправляет ответ клиентскому приложению что заказ принят, водитель найден

    И да, сделано все это чудо не на php и js :D
    Как минимум питончик. А если хотите реализовать открытый канал (когда сервер может отсылать данные клиенту (я про веб)), смотрите в сторону ratchet socketo.me
    Ответ написан
  • Как сделать фиксированное меню при скороллинге стр?

    MacFiss
    @MacFiss
    человек
    Создаете модификатор блока .header, например .header--fixed.

    .header
      height 60px
      background #000
      &--fixed
         position fixed
         left 0
         top 0


    Со стороны JS делаете проверку:
    $(window).scroll(function() {
      var container = $('.header');
      var status = $(this).offsetTop >= container.height() ? true : false;
    
      container.toggleClass('.header--fixed', status);
    });


    Либо делаете сразу фиксированным .header и создаете отступ у контейнера который оказывается под .header
    Ответ написан
    Комментировать
  • Почему не срабатывает .click()?

    MacFiss
    @MacFiss
    человек
    Если вы динамически добавляете на страницу кнопки, которые в последующем желаете отслеживать. Вам необходимо использовать функцию "on" в jQuery. Так как если вы будете использовать обычный click(() => {}). Он будет работать только с исходным DOM. И как только вы перерендерите его, ваш click не будет отслеживать новые элементы
    Ответ написан
    Комментировать
  • Как вывести ошибку addError если атрибут - массив?

    MacFiss
    @MacFiss Автор вопроса
    человек
    И так, решение проблемы. Модель имеет метод под названием onUnsafeAttribute. Данный метод вызывается в том случае, если была передана в модель какая либо переменная, которая не была объявлена. Концепт следующий:
    1) В представлении, other[name1..n] используем other_name1..n
    2) Определим переменную в модели $other типа array
    3) Переопределим функцию onUnsafeAttribute и сделаем запись в наш массив.
    4) В правилах огласим кэллбэк на нашу переменную и в нем будем перебирать наш массив.

    <?php
    namespace backend\models;
    
    use Yii;
    use backend\models\Model;
    use backend\filters\Filter;
    
    class MySuperModel extends Model
    {
        public $name;
        public $other = [];
    
        public function rules()
        {
            return [
                [['name','other'], 'required'],
                ['other', 'checkOther'],
            ];
        }
    
        public function attributeLabels()
        {
            return [
                'id' => 'ID',
                'name' => 'Name',
            ];
        }
    
        public function onUnsafeAttribute($name, $value)
        {
            if( ! strpos('other_', $name) ) {
                list($other, $name) = explode('_', $name);
                $this->other[$name] = $value;
            }
        }
        
        public function checkOther(string $attribute)
        {
            if( ! is_array($this->$attribute) ) {
                return false;
            }
            
            $errors = [];
    
            foreach( $this->$attribute as $name => $value ) {
                $filter = Filter::run($this->site_id, $name, $value);
                $name = 'other_' . $name;
                
                if( ! $filter ) {
                    $errors[$name] = Yii::t('messages', 'Field does not exist');
                    continue;
                }
            }
    
            if( !empty($errors) ) {
                return $this->addErrors($errors);
            }
    
            return true;
        }
    }
    Ответ написан
  • Как сделать странную вещь с двумя провайдерами?

    MacFiss
    @MacFiss
    человек
    Удивительно что вы спрашиваете на Тостере, хотя было бы логично спросить у своего провайдера.

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

    MacFiss
    @MacFiss
    человек
    Во первых вот этой строкой, вы ясно говорите что ваша регулярка не для файла
    RewriteCond %{REQUEST_FILENAME} !-f

    Пробуйте
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{REQUEST_URI} ^/upload/(.*)$
    RewriteRule ^(.*)$ http://myProdSite.ru/upload/$1 [L,R=301]
    Ответ написан
    Комментировать
  • Можно ли удаленно подключиться к Mysql?

    MacFiss
    @MacFiss
    человек
    Подключиться можно. Запросите удаленный доступ у вашего хостера. По умолчанию он отключен. Возможно если у него есть такая возможность, то он расшарит доступ для вашего IP

    В любом случае сначала посмотрите эту надстройку у себя в панели управления хостингом
    Ответ написан
    Комментировать
  • Как считать в столбик используя js?

    MacFiss
    @MacFiss
    человек
    https://jsfiddle.net/ny8xwn1v/1

    Если нужно что-то больше обращайтесь на фриланс. Либо делайте сами.

    <div class="example">
      <div class="operate"></div>
      <div class="line_one"></div>
      <div class="line_two"></div>
      <div class="result"></div>
    </div>


    .example {
      position: relative;
      width: 50px;
      height: 200px;
      text-align: right;
    }
    
    .example .operate {
      position: absolute;
      left: 0;
      top: 10px;
    }
    
    .example .line_two {
      border-bottom: 1px solid #000;
    }


    calculator(246, 154, '+');
    
    function calculator(one, two, operate) {
    	var container = $('.example');
      
      container.find('.operate').text(operate);
      container.find('.line_one').text(one);
      container.find('.line_two').text(two);
      container.find('.result').text(eval(one + operate + two));
    }
    Ответ написан
    2 комментария
  • Почему не работает ajax?

    MacFiss
    @MacFiss
    человек
    Автор. Пред тем как спрашивать, пользуйтесь поиском:
    Uncaught TypeError: Cannot read property 'ajax' of undefined?
    Ответ написан
  • В чем ошибка AJAX-запроса?

    MacFiss
    @MacFiss
    человек
    А если по простому: ресурс не разрешает забор информации

    Добавьте в .htaccess сайта донора:
    <IfModule mod_headers.c> 
        Header add Access-Control-Allow-Origin "*"
        Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
        Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
    </IfModule>


    Если только забираете информацию то укажите GET
    Ответ написан
    Комментировать
  • Как получить посты пользователя в facebok?

    MacFiss
    @MacFiss
    человек
    В общем тут дела плачевны. Во первых facebook любит конфиденциальность и без маркера пользователя вы не получите информации больше чем: "имя фамилия", "id". Так что создавайте приложение, размещайте код на странице забора информации, после того как человек авторизовывается, забираете маркер и храните его в сессии например. После можете уже работать с ним на стороне сервера некоторое время.

    Например если интересен запрос постов с корпоративной страницы: получаете маркер пользователя (редактора страницы например), запрашиваете маркер доступа к странице, и уже потом с этим маркером отправляете запросы

    Так же хочу заметить, если вы желаете забирать информацию и хранить у себя на сервере. То это нарушение авторских прав. Соглашение фб таково: каждый пользователь который хранит информацию в fb - передает свои авторские права сервису. Из этого следует следующее: если fb узнает что вы дублируете информацию на своем сервере, то скорее всего заблокирует ваше приложение. (но можете забить на это, если вы небольшая компания/или вообще не юр лицо) Вот у нас в компании с этим трудности :/
    Ответ написан
  • Как убрать рекламу в chrome, mac?

    MacFiss
    @MacFiss
    человек
    Лично я пользуюсь adguard из под macos, а если у Вас вирус. То рекомендую переустановить macos ибо если вы запускали это приложение под рутовскими правами - да поможет вам иисус
    Ответ написан
    2 комментария
  • Как сделать рандомное лого на сайте?

    MacFiss
    @MacFiss
    человек
    Так как надо то? Можно JS, а можно и PHP

    Мой Вам совет, делайте на js. Не грузите вы сервер, разделяйте фронт и бэк

    var myLogos = ['/img/logo1.png','/img/logo2.png','/img/logo3.png'];
    var logoRand = Math.round(Math.random() * (myLogos.length - 1));
    
    console.log(myLogos[logoRand])
    Ответ написан
    2 комментария
  • Как передать значение Label в обработчик формы?

    MacFiss
    @MacFiss
    человек
    Автоматизируем решение Ивана с применением jQuery библиотеки:

    <form action="#" method="post" class="example">
        <div>
          <label for="one">Тестовое поле 1</label>
          <input type="text" id="one" name="params[name1][value]" value="example 1">
        </div>
        <div>
          <label for="two">Тестовое поле 2</label>
          <input type="text" id="two" name="params[name2][value]" value="example 2">
        </div>
        <input type="submit" value="отправить">
      </form>


    var form = $('.example');
    
    form.find('input[type="text"]').each(function(i, data) {
      var label = $(this).parent().find('label').text();
      var name = $(this).attr('name').split('][')[0] + '][label]';
      $(this).parent().append('<input type="hidden" name="'+name+'" value="'+label+'">');
    });


    На сервере получаете
    $_POST['params'][name0..n] {
       "label",
       "value"
    }


    Посмотреть как работает
    Ответ написан
    Комментировать
  • Почему получаю неполные данные поста facebook?

    MacFiss
    @MacFiss Автор вопроса
    человек
    Все достаточно просто. Нужно было немного глубже в док. копнуть.

    Решение лежало на поверхности. У нас есть прямая ссылка на отзыв:
    https://www.facebook.com/USERNAME/posts/POST_ID

    Вырезаем POST_ID и обращаемся с ним к API:
    /2.7/POST_ID?fields=from,message,start_time

    По умолчанию при обращении без аргументов, информация выводится неполная и нелогичная.
    Там же мы получаем USER_ID и уже можем подгрузить более подробную публичную информацию о пользователе. Например аватар.
    Ответ написан
  • Почему разница в chrome на windows и mac?

    MacFiss
    @MacFiss Автор вопроса
    человек
    -- Проблема в шрифте и его корявого восприятия кирилицы с разных осей. --
    Нашел альтернативу шрифту Pragmatica : Helvetice (подключается по умолчанию в bootstrap)
    Но в комплекте не поставляется :( а он есть по дефолту только на mac устройствах но не windows. Решение: нашел и подключил (правда он платный, но сумел найти слив)

    Так подойдет?

    <section id="content">
         <h2 class="section-title">Заголовок</h2>
    </section>


    @import url(http://allfont.ru/allfont.css?fonts=pragmatica-cyrillic);
    section {
        .section-title {
            font-family: 'Pragmatica Cyrillic', Tahoma;
            height 55px;
            background #fff;
            text-align center;
            text-transform uppercase;
            line-height 60px;
            margin 26px 0;
        }
    }
    Ответ написан
    Комментировать