Итак есть одна особенность у это функции, которая так облегчает нам жизнь. И так суть в том, что когда вы добавляете товар в корзину в кол-ве 10 штук, туда попадает 1 или 4 и т.д. В общем кол-во не всегда правильное и это сбивает с толку.
programming languages
Склонение сеществительного от числа [js]
var declOfNum = function(number, titles) { var cases = [2, 0, 1, 1, 1, 2]; return titles[ (number % 100 > 4 && number % 100 < 20) ? 2 : cases[(number % 10 < 5) ? number % 10 : 5] ]; } //declOfNum(days, ['день', 'дня', 'дней']); //declOfNum(hours, ['час', 'часа', 'часов']); //declOfNum(minutes, ['минута', 'минуты', 'минут']); //declOfNum(seconds, ['секунда', 'секунды', 'секунд']);
Предыдущий следующий элемент массива по кругу [php]
Для формирования ссылок на детальных страниц нужно искать предыдущий и следующий элемент, для построения url.
Это первое способ, собрать все ID в массив и найти prev и next. Второй способ если у вас много элементов, использовать pagination (постраничну навигацию) с настройкой списка в 1 элемент.
Snippet для 1 случая:
// массив с ID $ar_ElementID = array(); // текущий ID (должен присутствовать в $ar_ElementID) $i_CurrentID = 777 // находим текущий ключ $i_KeyCurrent = array_search($i_CurrentID, $ar_ElementID); // кол-во элементов в массиве $i_CountElement = count($ar_ElementID); /* коротко */ // слудеющий ID $i_NextID = ( $i_KeyCurrent !== ($i_CountElement -1) ) ? $ar_ElementID[$i_KeyCurrent + 1] : 0; // предыдущий ID $i_PrevID = ( $i_KeyCurrent == 0 ) ? $ar_ElementID[$i_CountElement - 1] : $ar_ElementID[$i_KeyCurrent - 1]; /* длинно */ // слудеющий ID if($i_KeyCurrent !== ($i_CountElement -1) ) { $i_NextID = $ar_ElementID[ $i_KeyCurrent + 1 ]; } else { $i_NextID = 0; } // предыдущий ID if($i_KeyCurrent == 0 ) { $i_PrevID = $ar_ElementID[$i_CountElement - 1]; } else { $i_PrevID = $ar_ElementID[$i_KeyCurrent - 1]; }
Поиск по тексту с выделением [javascript]
Можно использовать в собственно-сделанных селектах для быстрого поиска по ключевым символам или по слову.
var text = "Москва", searchText = "ск", startpos = text.search( new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')); //magic text = text.substr(0, startpos + searchText.length) + '</em>' + text.substr(startpos + searchText.length); text = text.substr(0, startpos) + '<em>' + text.substr(startpos); //результат: Москва = Мо<em>ск</em>ва
Таблица html спецсимволов
The table in the detailed view
CIBlockElement::SetPropertyValues()
Следует отметить вот такой порядок параметров
CIBlockElement::SetPropertyValues( $i_ElementID, $i_IblockID, array('PROPERTY_CODE' => 'PROPERTY_VALUE') );
В этом случае очень важный момент, при обновлении нужно задать все свойства элемента, иначе те которые не заданы будут сброшены.
Это напоминает логику работы CIBlockElement::Update(), если не все свойства указать в PROPERTY_VALUES.
Adobe Air aplication Bitrix API
jQuery checkbox-ы с checked
Иногда элементарным вещам не уделяешь должного места в своей голове и они плохо запоминаются, вот и с этой выборкой так, постоянно забываю o_O
$("input[name='group_name[]']:checked"); || $("input").filter(":checkbox:checked"); || $('input[type="checkbox"]').prop('checked'); || $("input[type='checkbox'][checked='true']"); || $("input:checked");
Редактрование атрибутов тега SVG
$('svg')[0].setAttribute('width', '100%');
Использование javascript библиотеки для построения графиков Highcharts
Из всего что было попробовано остановился на этой библиотеке и не прогадал. Эту библиотеку не даром даже яндекс использует в web мастере. Разобраться можно довольно быстро, есть масса примеров, api тоже не плохо описано. В общем записываю чтобы не забыть.
Ну и результаты работы с Highcharts
Аналитика стоимости 1м? жилья в Ставрополе