Установил пробную версию редакции «Большой бизнес» (http://www.1c-bitrix.ru/products/cms/demo.php#tab-demo-link). В административной панеле при создании страницы с нужными компонентами возникает ошибка 'undefined' is not a component, при этом свойство компонента тоже не отображается. Использовал любимый браузер Mozilla Firefox 3.5.2
Попробовал в Internet Explorer 8 - там, все прекрасно работает.
При активной работе по управлению контентом и быстрого создания сайта мне иногда не хватает мелких, но очень приятных вещей.
1. Возможность создавать странички на русском с автоматической, не важно какой, но автоматической транслитерацией или именование страницы в соответствии с ее заголовком (автоматически) 2. Возможности загружать файлы на русском с автоматической транслитерацией 3. Возможность загружать картинки через java и activex галерею на русском с автоматической транслитерацией 4. Кнопки "Сохранить и добавить еще" при добавлении элемента инфоблока 5. Автоматического сглаживания картинки в свежесозданном инфоблоке без необходимости ковырять его параметры и выставлять страшный для пользователя сайта пункт "Сохранять качество при масштабировании (требует больше ресурсов на сервере)"
Пока нету api для гугл / яндекс карт в системе, то, открыв системные компоненты гугл / яндекс карт, мы увидим примерно одинаковый код получения ключей для карт заданных в настройках модуля управления структуры, для данного конкретного домена.
Тема персонального рабочего стола от Битрикса будоражит воображение заказчиков и разработчиков. А введение поддержки гаджетов от Google вообще сорвало крышу )).
И так рецепт приготовления из обычного компонента - гаджета для рабочего стола.
При удалении пользователей через админку битрикс начал вываливать ошибки. А конкретно
*Warning*: call_user_func_array()
[function.call-user-func-array<http://zf.local/bitrix/admin/function.call-user-func-array>]:
First argument is expected to be a valid callback,
'CSaleAuxilliary::OnUserDelete' was given in *
C:\WWW\zf\bitrix\modules\main\classes\general\module.php* on line*423*
По привычке отписался в саппорт. Получил ответ
Это сообщения - не ошибка, а предупреждение PHP, они не критичны в работе системы. Эти предупреждения можно отключить в настройках главного модуля - выводить только ошибки.
Т.е. это нормально - отключать показ ошибок вместо их решения?
Одна из самых интересных и мощных возможностей 1С-Битрикс - это компоненты и, в частности, комплексные компоненты.
Однако, как показала практика проведения курсов и обучения новых сотрудников, глубинную суть комплексных компонент понимают не все и не сразу.
Проблема усуглубляется еще и тем, что комплексная компонента состоит из обычных, которые в последнее время часто дорабатаваются и модернизируются. Однако комплексная компонента при этом часто остается незаслуженно забытой и раскрывает не все возможности входящих в нее обычных компонент.
Наверное многие сталкивались с очень полезной и удобной функцией CurrencyFormat - она используется для форматирования отображения цены, в нее передаются собственно значение цены и валюта. У меня в тестовой системе забито множество валют, включая английский фунт, японская йена и, конечно же, евро. Сегодня наконец-таки дописал функционал пользовательских цен на сайте и решил потестировать. Моему удивлению не было предела, когда вместо значка фунта или йены я получил набор цифр.
Компании Microsoft и Yahoo объявили о заключении давно ожидаемой сделки по созданию в сети интернет поисковой системы , что позволит двум компаниям сместить основного конкурента Google.
Microsoft обеспечит функционирование поисковика, а Yahoo , в свою очередь, будет заниматься продажей рекламного пространства на странице результатов поиска.
Часто в небольшой организации существует проблема с системным администрированием: его либо нет, либо из серверов присутствует только windows сервер.
В этом случае для демонстрации возможностей корпоративного портала очень хорошо подходит виртуальный сервер битрикс, о котором я писал чуть раньше.
Однако он обладает рядом недостатков: 1. Не запускается как служба 2. При выключении компьютера уходит в спящий режим из-за чего время на сервере сбивается и становится "в прошлом"
Поэтом, если речь зашла о приобретении системы, хорошим вариантом будет установка Zend Server CE и развертывание корпоративного портала под его окружением.
Радует графический установщик и очень понятный конфигуратор. Фактически, для php нужно установить только лимиты на выполнение, путь для сохранения сессий и максимальный размер загружаемых файлов.
MySql, phpMyAdmin и все остальное ставится автоматически.
Из проблем: 1. при переносе закодированной версии с текущей версии виртуального сервера она не захотела работать. Толи Zend optimizer не был подключен, то ли еще что - скачать исходный текст было проще чем искать 2. при скачивании исходников на виртуальной машине потребовалось перевести базу в unicode.
По умолчанию демонстрационные данные в 1С-Битрикс: Управление сайтом разбиты на много-много типов информационных блоков. Например, тип инфоблоков новости, статьи, и т.д.
Эта схема размещения, конечно, оправдывает себя при разработке большого информационного ресурса, но давайте взглянем правде в глаза: реально на небольшом сайте одни новости, одни статьи, одна фотогалерея.
Плодить типы инфоблоков ради такого случая не только неэффективно, но, и по-моему, вредно: потом, когда нужно будет разработать второй-третий сайт на этой лицензии, сложно разобраться что к чему.
Поэтому для маленьких сайтов мы используем другое разбиение на типы инфоблоков: по сайтам. Для каждого сайта создается одни тип и все инфоблоки заносятся в него.
Это позволяет более эффективно расходовать место в левой панели и избавиться от вопросов : а почему "новости-новости-элементы"?
Мало того, что баннер новый повесили, с немного странной игрушкой внутри) так еще и наконец то сделали на форуме возможность отметить все форумы прочитанными после нажатия кнопки "Обновления". Браво! Еще бы написать вместо этого "Новые сообщения"
Меня зовут Дмитрий Богданов и я новенький в этом блоге, так что прошу слишком уж сильно не пинать Я несколько лет занимался eye-tracking исследованиями с англичанами и сейчас надумал создать фирму, которая будет предоставлять возможность оперативного и недорогого тестирования сайтов на eye-tracker'е. Хотелось бы поговорить с профессиональными разработчиками о том, насколько подобный сервис востребован, а также о том, какие неудовлетворенные потребности есть в этой области.
В качестве саморекламы и способа получения более подробной информации о том, что делается, приглашу на сайт http://eye-tracker.ru
Очень хотелось бы обратиться к разработчикам продукта Битрикс Управление сайтом за разъяснением относительно ЧПУ. Как корректно использовать символьный код? Ведь есть возможность формировать ссылки с символьным кодом #ID#-#code#.html - та самая ссылка, за которую боремся. ???КАК???
2. Отгрузка уникальных ссылок на скачивание различного файлового контента. Может применяться, например, для продажи MP3, фото, PDF.
Если вы хотите сразу посмотреть модуль в работе, а не читать много текста, то вы можете посетить один из демо-магазинов. Выберите какой функционал вам ближе: купить MP3, купить клипарт, купить PIN-карту оплаты. Обратите внимание, что это лишь примеры, функционал модуля позволяет решить 99% аналогичных задач. К тому же, вы всегда можете обратиться ко мне за консультацией и деталями.
Обратите внимание, что после регистрации на промо-сайте (логин сквозной для всех демо-сайтов) вам присваиваются права демо-администратора магазина, и вы сможете посмотреть модуль в административной части (права только на чтение).
Стоимость модуля составляет 4 500 руб., оформить заказ можно через форму контактов. Модуль поставляется в открытых кодах.
Давно не было желания писать в блог, не попадалось яркой шизофрении в битриксовых сферах.
Но коллеги из ADV/web-engineering прислали сегодня чудесный пресс-релиз о запуске "Российского Венчурного Портала", которых похоже правдиво отражает состояние дел в этой отрасли на сегодняшний день.
Всегда с админкой Битрикса работал в IE, поскольку стандарт есть стандарт. После обновления IE до 8 стало работать куда хуже. Битрик не корректно отображает многие вещи (обещают исправить), да и сам IE, если компьютер слабенький (а у меня ноутбук не из дорогих) работает довольно медленно – старая болезнь этого браузера. ДА, плюс канал Интернета конечно тоненький (у нас на переферии 1 Мб это роскошь, недавно ввели за 1350 рублей, с августа подключусь), в общем решил попробовать перейти с IE на что-то другое… и…
1. Firefox в версии 3.5 в админке Битрикса глючит местами просто безбожно (обещают исправить, но работать-то нужно уже сейчас) – не подходит. 2. IE 7-8 как уже говорил все же тормознутый, да и Битрикс многое в IE 8 отображает странно – не подходит (хотя делать нечего и видимо придется работать с ним). 3. Chrome и во все Битрикс не любит, чтобы понять почему, нужно зайти и посмотреть, как выглядит в нем админка – не подходит. 4. Опера – тут история давняя и проблемы с Оперой известны, видимо норвежцы не знаю о существовании Битрикса, да и других CMS, хотя ситуация улучшилась, но все равно глюки есть, а значит – не подходит.
Еще есть сафари – не пробовал, но читал в форуме, что с ним тоже есть определенные проблемы…
В итоге вопрос, а есть ли браузер (коме тормознутого семейства IE), который работает с админкой Битрикса нормально на все 100%?
Недавно при разработке очередного сайта столкнулся с проблемой фильтрации. Проблема заключается в том что битрикс даже для тех свойств у которых тип множественное позволяет выбрать значения, но фильтрация происходит по условии ИЛИ, иногда необходимо что бы фильтрация осуществлялась по И. Для тех кто не понял если я на примере luch.by часы могут иметь несколько характеристик, например водонепроницаемость и календарь, так вот при работе стандартного фильтра он выбирает в каталоге если я выберу эти два параметра одновременно, то поиск будет выдавать результаты у которых в свойствах есть либо календарь, либо водонепроницаемость, либо одно и другое свойство, а необходимо что у часов жостко было задано водонепроницаемость и календарь одновременно. Для тех кто столкнулся с данной проблемой предлагаю свой вариант решения.
Допустим в инфоблоке есть свойство "Дополнительные опции" в котором организован список множественного выбора, который мы хотим использовать в фильтре и имя данного свойства "DOP", нам нужно создать еще одно дополнительное поле "Контрольную строку" тип строка с именем допустим "DOP_CONTROL"
Далее в свойстве инфоблока указываем файл "Файл для редактирования элемента, позволяющий модифицировать поля перед сохранением" (Предварительно данный файл необходимо создать, допустим назовем данный файл "dop.php"). После этого оставляем в покое свойства инфоблока.
В файл "dop.php" поместим текст:
<?
//12 - код свойства Дополнительные опции
//39 - код свойства контрольная строка
if (count($PROP["12"])){ //проверяем было ли заполнено данное свойство
$str="";//в эту будет формироваться текст для контрольной строки
$dop=$PROP["12"];
sort($dop);// сортирую массив (можно и не фильтровать, для меня это более эстэтичнее)
foreach ($dop as $key=>$value)
{$str.="_{$value}_";}//далее формируется строка выбранных ID элементов списка
// на выходе получим строку типа "_42_50_30" в зависимости от выбранных параметров
foreach ($PROP["39"] as $key=>$value) $PROP["39"][$key]=$str;
// заполняем свойство для чего сделал это через цикл не помню возможно будет //достаточно $PROP["39"][0]=$str;
}
else foreach ($PROP["39"] as $key=>$value) $PROP["39"][$key]="";//обнуляем если ранее было заполнено
?>
Таким образом при каждом изменении либо добавлении элемента свойство "DOP_CONTROL" будет обновляться.
Далее работаем с публичной частью:
добавляем стандартный фильтр на станицу, копируем его, затем выбираем в настройках что будем фильтровать по свойству "DOP" и что имя фильтра - "filter".
Далее создаем и правим result_modifier.php, данного фильтра. Для множественного поля я думаю больше подойдут флажки, чем список где при помощи контрола и мышки нужно выбирать свойства ("Помните то что не высе такие умные как мы") . Для этого смодулируем флажки, также в коде модифицируем массив фильтра.
<?
// код приблизителен выдерал из кучи кода необходимого для работы других свойств
foreach($arResult["ITEMS"] as $key=>$item)
{
foreach($arResult["arrProp"] as $kk=>$prop)
if (($prop["NAME"]==$item["NAME"]) && ($prop["MULTIPLE"]=="Y") ) // я думаю любой программист разберется для чего это нужно, для лучшего понимания вывидите $arResult
{ $chek="";
$ID=$kk;//ID в массиве сгенерированного битриксом мы его заменим на чекбоксы
foreach ($prop["VALUE_LIST"] as $k=>$value )//здесь $k id в списке $value название свойства
{
if (in_array($k,$_GET["filter_pf"][$prop["CODE"]])) $dop=" CHECKED "; else $dop="";// проверяем было ли выбранно данное свойство, т.е фильтр по данному свойству установлен
$chek.="<input $dop name=\"filter_pf[{$prop["CODE"]}][]\" value=\"$k\" type=\"checkbox\"/>".GetMessage($k)."<br>";}
}
$arResult["ITEMS"][$key]["INPUT"]= $chek;// устанвливаем новое свойство
}
}
if (count($GLOBALS["filter"]["PROPERTY"]["DOP"])) // проверяем был ли установлен фильтр
{
$dop=$GLOBALS["filter"]["PROPERTY"]["DOP"]; // сохраняем в переменной
unset($GLOBALS["filter"]["PROPERTY"]["DOP"]);// уничтожаем старые значения, для того что бы не мешали
$str="";//строка будет формировать условия
sort($dop);//опять же я сортирую массив
foreach($dop as $val){
if (strlen($str)) $str.="&(%_{$val}_%)"; else $str.="(%_{$val}_%)"; //формирую строку для сложного поиска
}
//в итоге получается строка приблизительно такая (%_42_%)&(%_43_%).....
$GLOBALS["filter"]["?PROPERTY_DOP_CONTROL"]=$str;// устанвливаем новое значение фильтра уже для поля Контрольной строки
}
//?PROPERTY_DOP_CONTROL - значит что будет сложное условие про это можно почитать в двух слова здесь проверяется вхождение в контрольную строку сразу 42 и 43, посколько значения обрамлены "_" лишних элементов не выбирется % - любое количестов символов () - для условия & - оператор И
?>
Теперь нам осталось добавить список новостей, либо элементов каталога и указать там имя фильтра - "filter"
Вот и все проблема решена. Я думаю это лучше что мне предложила техподдрежка (сделать один запрос который достанет ID элементов по данному свойству, потом второй по другому..... т.д, а затем найти пересечение этих массивов и в результате массив пересечений вставить в еще один запрос, который сделает выборку по полученным ID - что и будет результатом), я думаю что предложенный вариант не эффективен, увеличивается количество запросов к базе и возможно если большая база можно и выйти за пределы памяти да и представьте какой длинны будет данный запрос.
Мою идею можно доработать, до компонента я думаю разработчики это могут сделать, для этого достаточно заполнять допустим поле "Описания", которое допустим используется для файлов, в это описание записывать контрольную строку. И обновить компонент для фильтра.
Как все уже успели попользоваться и узнать, что документооборот вещь нужная и полезная. Особенно, когда у тебя мысли в голове роятся и путаются друг, за друга, то можно откатить версию статьи к одной из предыдущей. Однако, как и любой другой программист, я отчасти пессимист, т.е. пока не узнаю всех сторон "документооборота" не могу вполне наслаждаться всеми прелестями использования. Поэтому отметил для себя одну особенность, то что при использовании прямых запросов в базу для выборки тех или иных данных об элементах инфоблоках приходится вводить еще одно условие, а то и/или сортировку. Чтобы получить нужный элемент среди кучи "документооборотистых" копий этого элемента.
API-шных методов связанных с инфоблоками и документообортом я не нашел, ни в коде ни в справке по API .
П.С. Все вышесказаное отностиельно php версии Битрикс 8.0.5 и ранее.