• Как в битрикс получить цену торгового предложения?

    @Szen
    Всё гораздо проще.
    $res = \CCatalogSKU::getOffersList(
    	$productID, 
    	0, 
    	array('ACTIVE' => 'Y'), 
    	array("ID", "IBLOCK_ID", "CATALOG_QUANTITY", "CATALOG_PRICE_1"), 
    	array()
    );
    Ответ написан
    Комментировать
  • Как посмотреть конфиг nginx на выходе(со всеми includ-ами)?

    @Szen
    Выведет все в файл, включая инклуды и развернет их:
    nginx -T > ~/all_nginx.conf
    Ответ написан
    Комментировать
  • Как реализовать форматирование чисел с помощью JS?

    @Szen
    Универсальный вариант, где можно указать необходимые параметры (разряды, символ разрядов, десятичные, символ десятичных, заполнитель десятичных, если в результате десятичных меньше, чем задано в параметре). Встроил в прототип объекта String, поэтому работает только со строками. При желании можно выделить в отдельную функцию.
    String.prototype.format = function(params) {
    	params = params || {};
    	params = {
    		digitsCount: params.digitsCount || 3,
    		digitsSeparator: params.digitsSeparator || ' ',
    		decimalCount: params.decimalCount || 0,
    		decimalSeparator: params.decimalSeparator || '.',
    		decimalReplacer: params.decimalReplacer || '0',
    	};
    	var str = this.replace(/\s+/g, '');
    	if (!str) str = '0';
    	int = str.replace(/\.\d+/, '');
    	re = new RegExp('\\B(?=(\\d{' + params.digitsCount + '})+(?!\\d))','g');
    	int = int.replace(re, params.digitsSeparator);
    	output = int;
    	if (params.decimalCount) {
    		dec = str.replace(/\d+\./, '');
    		dec = dec.substr(0, params.decimalCount);
    		if (dec.length < params.decimalCount) dec = dec + params.decimalReplacer.repeat(params.decimalCount - dec.length);
    		output = output + params.decimalSeparator + dec;
    	}
    	return output;
    };


    Используем так:
    var num = '123456789';
    var formatted = num.format({
    	digitsCount: 3,
    	decimalCount: 2
    });
    Ответ написан
    Комментировать