Заметки веб разработчика

От автора для разработчиков

Что бы не думать, что за сегодня-завтра нужно успеть сделать все, что запланировалось в голове - нужно создать детальный план, в котором будет логично рассписаны детально все действия, которые нужны для реализации задуманного. Это называется архитектурой проекта (план задуманного). Иначе в голове со временем при реализации задуманного начинает царить хаос и в голову лезут новые, более удачные способы реализации - запишите их и учтите позже, а сейчас делайте все по плану - а да будет результат! © Григорий Фурлетов

1С Битрикс

  • Сортировать по алфавиту значения умного фильтра
    http://funtik.net.ua/index.php?id=smart-filter-sort-bitrix
  • Получить значение параметра компонента-родителя в шаблоне
    $component->getParent()->arParams['SEF_MODE']
  • Философия связей свойств и секций для отображения в умном фильтре
    В битриксе корневая категория имеет наивысший приоритет!
    Если добавить связь* между свойством и секцией**, то она(связь) автоматически применяется и со всеми вложенными в секцию подсекциями, игнорируя внутренние связя этого свойства с ними(подсекциями).
    Ты пытался удалить связать свойство "Вес" и "Цвет основной" с секцией "Детские автокресла". Да, связь удаляется, но с этими свойствами существует еще одна связь - с корневой секцией**. А так как приоритет связей с корневой секцией наивысший, то все действия во внутренних секциях бесполезны.
    * Связь - это запись в БД, которая по ID'шникам связывает свойство и секцию (в админке это добавления свойства(связи) и установка галки "Показывать в умном фильтре: да/нет")
    ** секция с ID=0 - корневая (в том числе), у нее нет внешнего кода и в админке она не отображается
  • Встраиваем любой Javascript код в место, где происходит обновление(перезагрузка) в одношаговом оформлении заказа в 1С Битрикс (компонент bitrix:sale.order.ajax). http://funtik.net.ua/index.php?id=bitrix_sale_order_ajax_onload

Unix (Linux, BSD)

  • Перенос базы данных MySQL с помощью утилиты mysqldump
    http://funtik.net.ua/index.php?id=mysqldump
  • Полезная команда для поиска текста во всех файлах указанной директории(папки). Пример:
    $ grep -rin "function SelectedRowsCount" /var/www/html/bitrix/modules/ --color
    -r - рекурсивный поиск по всем директориям
    -i - поиск без учета регистра символов
    -n - выводить номер найденной строки
    --color - выделять цветом найденную строку

Прочее

  • Моя настройка темы для jQuery UI. Получилась она гладенькая довольно-таки.
    http://goo.gl/qmAJ9t
  • jQueryUI, Selectable - выбор элементов программным путем.
    index.php?id=jquery-ui-selectable-select-api
  • Замер производительности работы PHP-скрипта:
    $start = microtime(true);
    function Convert($size)
    {
    	$unit=array('b','kb','mb','gb','tb','pb');
    	return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];
    }
    
    // ...
    // Какой-то Ваш код, производительность которого нужно замерять
    // ...
    
    $time = microtime(true) - $start;
    printf('Скрипт выполнялся %.4F сек.', $time);
    echo ' - ' . Convert(memory_get_usage(true));
    
  • Визуальное представление слоев верстки jQuery плагина carouFredSel. Данные брались со страницы примера работы плагина http://coolcarousels.frebsite.nl/c/28/. carouFredSel schema layouts Ссылка на исходник в Google Рисунки: http://goo.gl/UYU9WO