• Как организовать ajax обновление элемента с id="myElem" в Yii?

    public function actionAjaxUpdate(){
            if(Yii::app()->request->isAjaxRequest){ // только ajax
                $this->layout = false; // отключим шаблон
                $this->render('то что тащит рендер', array(
                    'params'=>$params
                ));
            }
            else
                throw new CHttpException(404, 'Запрашиваемая страница не существует.');
        }

    Оберните Ваш рендер
    <div id="myElem">
            <?php $this->renderPartial('//то что тащим', true, false, array(
                     'params'=>$params 
            )) ?>
    </div>

    Ну и Js
    $('#link').click(function (e){
            e.stopPropagation();
            var update = $('#myElem');
            $.ajax({
                    'type': 'POST',
                    'url': '/AjaxUpdate',
                    'cache': false,
                    'success':function(data) {
                                    update.html(data);
                    }
            });
    });

    И ссылка
    <?php echo CHtml::link('Обновить!', '#', array('id'=>'link')) ?>
    Ответ написан
    Комментировать
  • В чем же сила Node.js ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Сила в том что все знают JS. Кто может писать на PHP/Ruby/Python? Те кто пишут на PHP/Ruby/Python соответственно (и скажем по 10%-15% от количества каждых кто может писать хотя бы на двух из трех языков. Кто может писать на JS? Все фронтэндеры + добрых каких 60%-70% от всех этих php/ruby/python/java/c# разработчиков...

    Что это дает? ОГРОМНЕЙШЕЕ комьюнити... большая часть быдло конечно но засчет огромнейшего количества разработчиков инструментарий начал просто очень быстро развиваться. Кому нужен инструмент написанный на Ruby если его можно написать на JS и его сможет поддерживать на порядок больше людей?

    Вопрос производительности по началу стоял как основная фишка языка. Все кричали наконец-то, V8 на сервере, асинхронность! Самый быстрый интерпритируемый язык на планете и все такое. Но на деле все чуть сложнее. JS реально быстрый. По сравнению с тем же Ruby он в разы быстрее! Но по большому счету на это адекватным людям плевать с высокой колокольни, так как js нифига не асиинхронный. JS работает в один поток. Причем в этом же потоке работает и сборщик мусора. Если он начнет все чистить - все замрет. Обычно это не сильно большая проблема но как-то забавно. Асинхронное в JS только работа с IO которая на плюсах/си реализована...

    Революционности так же нету. JS на сервере не новая идея и практиковался еще лет за 5 до. Просто это была очень удачная реализация да ктому же если бы не V8 то так же все было бы не так круто.

    Что до сравнения с PHP и т.д. - это инструменты для разных сфер. PHP - разработка web-сайтов. node.js - демоны, инструменты разработки, шины данных, доставка данных и т.д. Для всего остального PHP подходит больше. Есть правда пара интересных проектов главная цель которой устранить дублирование кода на сервере и на клиенте.... но подходят эти наработки пока только для очень простых проектов (хотя все относительно).

    Если вас прям плющит от нового, быстрого, современного, с клевым дизайном и тоже где повлиял гугл - golang.
    Ответ написан
    11 комментариев
  • Где научиться работать с composer?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    https://getcomposer.org/doc/ - тут есть все. Вообще все что нужно. Если здобрить гугл транслейтом всеравно довольно понятно все.

    Когда его нужно ставить локально, когда глобально

    как хотите или как вам удобнее. Можете всегда локально ставить, можете всегда глобально. Я ставлю глобально только на своей машине и на билд сервере... Хотя при моей схеме ставить composer локально и не нужно, так как он нужен только на локальной машине и на билд сервере... Если же вам при деплое на сервере нужен composer то имеет смысл просто закоммитить composer.phar или поставить его рядом с проектом на целевом сервере.

    как закачать расширение

    смотря что вы подразумеваете под "закачать". Установить , composer require, залить на packagist - читаем мануал на packagist или ставим напрямую из github/bitbucket.

    как обновить проект, как начинать новый проект

    composer update и composer init/create-project соответственно.

    https://getcomposer.org/doc/03-cli.md - судя по всему вам сначала сюда.
    Ответ написан
    Комментировать
  • Как сделать чтобы значения менялись через 1 секунду o=на+2 m=на+3 и осталась зависимость от формул которые меняют цвет?

    @asdz
    А вы на jsfiddle.net закиньте, а то непонятно что это такое.
    Ответ написан
    Комментировать
  • Хранение деревьев в Mysql какие есть способы?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Существует 4 основных способа хранения деревьев в реляционной БД:

    Adjacency List - описан @Satanpit.

    Matherialized Path - полный путь до узла хранится в виде строки типа 0035.0993.7324.1256 (т.е. узел верхнего уровня содержит строку 0035, узел второго уровня - строку 0035.0993 и т.д.)

    Nested Set - для каждого узла хранятся 2 числа: левый и правый индексы. Причём левый индекс узла меньше левого индекса любого потомка этого узла, а правый индекс соответственно больше.

    Closure Table - отдельно храним данные, отдельно иерархию.

    А ещё есть комбинации этих способов.

    По всем этим способам в рунете (в том числе на хабре) существует большое количество информации.
    Ответ написан
    2 комментария
  • Как сделать валидацию require с ИЛИ на yii?

    AloneCoder
    @AloneCoder
    [object Object]
    public function rules() {
        return array(
            array('username','either','other'=>'email'),
        );
    }
    public function either($attribute_name, $params)
    {
        $field1 = $this->getAttributeLabel($attribute_name);
        $field2 = $this->getAttributeLabel($params['other']);
        if (empty($this->$attribute_name) && empty($this->$params['other'])) {
            $this->addError($attribute_name, Yii::t('user', "either {$field1} or {$field2} is required."));
            return false;
        }
        return true;
    }
    Ответ написан
    Комментировать
  • Как сверстать внутреннюю рамку с жестко заданным отступом от краев?

    AMar4enko
    @AMar4enko
    .wrapper {
      float: left;
      position: relative;  
    }
    
    .wrapper img {
      z-index: 1;
    }
    
    .wrapper .frame {
        position: absolute;
        border: 1px solid white;
        left: 15px; right: 15px;
        top: 15px; bottom: 15px;
    }


    <div class="wrapper">
      <img src="http://habrastorage.org/getpro/habr/post_images/5d0/2a1/08f/5d02a108f9a6a9d69443537b0bfa728f.jpg" alt="">
      <div class="frame"></div>
    </div>


    Также можно обойтись двумя элементами - wrapper и img, если использовать :after
    Ответ написан
    1 комментарий
  • Почему разваливаются блоки сайта?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Так по горизонтали не растягивают.
    Вот так растягивают jsfiddle.net/petroveg/s4rp52me

    Так что Chrome поступает так, как и нужно

    183b8f3f4118490abc5f1edf80fbb07e.png
    Ответ написан
    2 комментария
  • Почему некоторые сайты не пингуются командой ping?

    @throughtheether
    human after all
    Почему так происходит? Сайты все работают.
    В текущих реалиях вывод утилиты ping имеет довольно касательное отношение к работоспособности сервисов. В данном случае, скорее всего, по какой-либо причине фильтруются icmp-пакеты.
    А какой то альтернативный вариант пингования сайта есть?
    Если под "пингованием сайта" вы подразумеваете проверку работоспособности сервиса (веб-сервиса в данном случае), то для этого наиболее логично пользоваться соответствующим клиентом (т.е. веб-браузером). Во многих случаях поведение клиента можно эмулировать, в случае веб - при помощи netcat, telnet (telnet www.ya.ru 80, далее в консоли HEAD / HTTP/1.0), curl, wget, самодельного скрипта.
    Ответ написан
    Комментировать
  • Где посмотреть видео про использование Git?

    @evil_random
    Вот довольно не плохое видео для тех кто уже понимает в git и для тех кто новичок https://www.youtube.com/watch?v=1ffBJ4sVUb4
    Ответ написан
    2 комментария
  • Где посмотреть видео про использование Git?

    @naneri
    PHP разработчик.
    Не стоит коммитить изображения, а также файлы конфигурации, которые отличаются на разных машинах (например конфиг базы данных), потому что ГИТ ориентирован на командную работу.

    Коммитится можно так часто - как вам удобно. Можно раз в неделю. Но лучше коммитить при добавлении фичи или исправлении бага - так потом по названиям можно будет находить нужный коммит, смотреть на его изменения и понимать, как это работает.

    Несколько веток обычно ведут для экспериментов - например мастер ветка, это та, которая выкладывается в продакшн, потом ветка для добавления какой-то фичи, и т.д.
    Ответ написан
    Комментировать
  • Где посмотреть видео про использование Git?

    @Samuel_Leonardo
    Попробуйте этот интерактивный учебник, на мой взгляд лучше, чем видео
    pcottle.github.io/learnGitBranching
    Ответ написан
    Комментировать
  • Что за проблемы с HTML CSS на iOS?

    @lnked
    input, button { 
    	-webkit-appearance: none;
    	-moz-appearance:    none;
    	appearance:         none;
    }
    Ответ написан
    Комментировать
  • Как в CMenu (Yii) сделать ссылку на главную страницу?

    twixoff
    @twixoff
    Попробуйте site/index, ну или какой у вас там роут определен как домашний.
    Ответ написан
    Комментировать
  • Как организовать две "живые" колонки с помощью Yii?

    metamorph
    @metamorph
    Проще всего - виджетом.
    Ответ написан
    Комментировать
  • Как организовать вход в админку сайта администратору?

    MegaMufa
    @MegaMufa
    Если админ - конкретный человек, и меняется он не так часто, делаю вход в админку по адресу admin.site.com. Но сам домен в DNS не прописываю. Записываю его в файле host. И все, на данный поддомен попадет только админ. Ну или тот, кто знает об этой фиче, но там форма авторизации.
    Ответ написан
    Комментировать
  • Как насовсем свернуть блоки кода в PhpStorm?

    svistiboshka
    @svistiboshka
    живые веб интерфейсы
    запоминать то он запоминает (PS7) с такими настройками Folding Code
    1f287608cfd47bd8401fe2b3f0737b43.png
    но вот как сделать чтоб они не разворачивались например когда рядом что то вставляешь в код
    или же когда дублируешь свернутый код по Ctrl+D для меня это большая загадка
    Ответ написан
    1 комментарий
  • Как организовать вход в админку сайта администратору?

    foxmuldercp
    @foxmuldercp
    Системный администратор, программист, фотограф
    Хм. а Вы не думали, что админка может вообще наружу никак не выводиться?
    банально - сайт админка, торчащий исключительно внутри локальной сети, на каком-нить 192.168.0.123 с хостнеймом adm.site.local, а наружу торчит исключительно читающий из базы фронтенд.
    Тогда перебирать admin.site.net или site.net/admin можно до второго пришествия.
    Ответ написан
    Комментировать
  • Как рассчитать ширину макета сайта?

    Естественно, что контент. Отступы будут всегда разные, все зависит от разрешения и диагонали экрана устройства, с которого будет осуществляться просмотр.
    Ответ написан
    Комментировать
  • Как рассчитать ширину макета сайта?

    Ответ: Черный прямоугольничек должен быть равен 960px :)
    Ответ написан
    Комментировать