Предпосылками к проекту мастера перетягивания контента jom2bit послужил собственный опыт. Ряд сайтов, сделанных мною на Joomla в разное время были перенесены на Битрикс ввиду явных преимуществ последнего. Естественно при переносе встал вопрос, как тянуть контент. Был написан скрипт, достаточно тривиально подключавшийся к базе данных удаленного хоста и тянувший все данные оттуда напрямую. Оставалось лишь сделать сопоставление полей и распихать все по инфоблокам.
Все было хорошо, пока не дошли до сайта на котором не поддерживались удаленные подключения к БД. Вот тут уже задача стала серьезней. Во первых скрипт пришлось разделить на 2 части. Одна ставилась на сайт донор, а вторая работала на акцепторе. Естественно пришлось продумывать протокол обмена данными, в качестве которого естественно был выбран XML, согласование кодировок между сайтами, ряд других вопросов. Все вопросы решились и скрипт заработал.
Дальше больше. Перенос товаров из VirtueMart в каталог, обработка метатегов {mosimage} в тексте, перенос других компонентов Joomla, но..... сайты кончились, а задача интересная.
Отчасти из форума Битрикс, отчасти и изначального желания сделать нормальный, тиражируемый продукт скрипт обрел форму мастера Битрикс демоверсию которого я и выложил сегодня на своем сайте.
Сколько времени пишу под Битрикс, никогда не знал о существовании константы SITE_TEMPLATE_PATH (не описанной, как всегда, в документации, но любезно подсказанной моим коллегой).
Надеюсь, что натолкнёте на правильную идею реализации. Из-за малого опыта я что-то не очень соображу как это сделать.
Итак, есть сайт, где шапка с основым меню, цетральная чать (контент + бар справа), подвал. С шапкой и подвалом всё нормально, а вот с баром проблема.
До перевода на битрикс в этом баре была такая логика работы: 1) на главной, там выводилась информация (просто текст и картинки). 2) на двух подразделах, там выводилось подменю этих разделов. 3) на некоторых страницах, там было либо пусто, либо какой-то текст.
Как подобное реализовать на битриксе ума не приложу? Пробовал через включаемые области, но то ли я не понял как они работаю, то ли через них нельзя, пробовал через IncludeFile, но тогда придётся делать подменю в рукопашную, да и не очень поднятно как это всё подцепить к шаблону сайта, чтобы их вывод зависил от конкретной страницы/раздела.
Одним из важных этапов проектирования сайтов является анализ и уточнение того, как с ним должны работать конечные пользователи. Сверстать шаблон, разработать и интегрировать программные модули в него, распределить права доступа и запустить сайт – это только половина дела, причем последняя. Сайт должен быть спроектирован и организован так, чтобы конечным пользователям было максимально удобно им пользоваться. Если вкратце – то это называется Юзабилити (по-русски – удобство использования и работы (УИР)). Сейчас речь пойдет об одном из аспектов оптимизации сайта – упрощение и ускорение работы контент-редактора сайта.
Если сайт только разрабатывается, то уже на этапе проектирования дизайна сайта необходимо разбить используемые стили на 2 группы:
Стили, используемые в дизайне сайта. Это оформление текста и заголовков страницы, стили рисунков, параметры отступа, позиционирования. Эти элементы постоянны, редко модифицируются (за исключением случаев полного редизайна). Контент-редактор с такими элементами работает очень редко. Здесь можно дать полный простор творческой фантазии дизайнера.
Стили, используемые для материалов. Заголовок, анонс, полный текст новости, тезисы, примечания, выделение текста и т.п. То есть, то, с чем постоянно работает контент-редактор. Здесь ко всем дизайнерским изыскам надо подходить очень критично: использовать стандартные шрифты, отказаться от спецэффектов, которые работают не во всех браузерах и т.п.
Но даже если сайт уже существует, можно рассортировать уже имеющиеся стили.
Для первой группы задаются уникальные имена стилей и, как правило, они недоступны для использования контент-редактором. Для второй группы переопределяются стили для html-тэгов (параграф, список и т.п.). Если используются не все html-теги заголовков (<h2>, <h3>, <h4>), то их можно использовать для выделения тезисов, примечаний и т.п. Также можно создавать и новые классы, но их должно быть как можно меньше и только тогда, когда без них никак не обойтись. Например, для тех же тезисов, примечаний и др. Также в первой группе не должно быть переопределенных html-тегов, все классы должны быть с уникальными именами, в противном случае стили первой группы могут «поползти», если для html-тегов второй группы стилей будут меняться параметры оформления.
Пример файла CSS-стилей, разбитых на 2 группы:
------------------------------------------------------------------/* Стили, использованные в дизайне */
.headline {
padding-left: 20px;
padding-right: 20px;
}
………………….
.menu {
margin-left: 30px;
margin-top: 30px;
}
/* Обратите внимание, что здесь все классы имеют свои уникальные имена. Html-теги в этой секции не переопределяются. */
/* Стили, для контент-редактора */
p {
font-family: Verdana, Arial, Helvetica;
font-size: large;
}
………………….
ol {
font-weight: bold;
color: #CCFF00;
}
………………….
.attention {
color: #FF0000;
font-weight: bold;
}
/* Обратите внимание, что здесь переопределяются html-теги. */
------------------------------------------------------------------
Далее в качестве примера используем CMS-систему Битрикс. Ниже приводятся основные html-теги, используемые в визуальном редакторе по умолчанию: 1. <h1>, <h2> и т.п. – для заголовка; 2. <p>, <i>< <strong>, <u> – для параграфов анонса и полного текста и выделения текста в них; 3. <a> – для ссылок; 4. <ol>, <ul>,
– нумерованый и ненумерованый списки; 5.
,
,
- при использовании таблиц; 6. И т.д. Вначале переопределяем стили для этих html-тегов в соответствии с дизайном сайта. Также подключаем (предполагается, что вы прошли основные учебные курсы по «1С-Битрикс») новые стили 2 группы для примечаний, тезисов и прочего к выпадающему списку стилей визуального редактора.
Итог: работа контент-редактора сильно упрощается. Ему достаточно будет вставить из буфера обмена текст, почистив его от «Word-мусора», или набрать его с «нуля». Далее пройтись по тексту, проставить кое-где заново списки, ссылки, выделить примечания или тезисы с применением подключенных стилей. Форматирование будет применяться автоматически.
При таком подходе мы на выходе получаем относительно «чистый» контент, который содержит стандартные html-теги, минимально «замусорен» дополнительными стилями и почти всегда без «чистки» может быть интегрирован в новый дизайн или перенесен на другой движок CMS.
Действуя по аналогии, все вышенаписанное можно применять и для других CMS-систем. Надо только проверить, какие html-теги там используются в имеющемся визуальном редакторе, переопределить их в файле css-стилей CMS и уточнить, как в нем можно подключить дополнительные стили для контент-редактора.
Пожелания и комментарии приветствуются. ICQ: 778818 E-Mail: jalart@vladsun.com URL проекта "Путем проб и ошибок 1С-Битрикс": http://www.vladsun.com/cms/
Админы очередного варезятника раздают их в режиме paranoid. Несколько удивило другое - что лежит на домене второго уровня: http://www.ucoz.com/ - очередная CMS/CMF-ка.
Правда непонятна их стратегия, если желают нивелировать значение сертификатов битрикс, то раздавайте ответы их вообще всем.
На картинке с сайта - есть фото сертификатов, если крутануть яркость, контрастность, то видно и потенциального автора:
Интересно отметить, что конкурентоспособность директивно ускоряет конвергентный имидж, опираясь на опыт западных коллег. Охват аудитории специфицирует обществвенный инвестиционный продукт, осознав маркетинг как часть производства. Повышение жизненных стандартов тормозит системный анализ, осознав маркетинг как часть производства. Рекламное сообщество поразительно. Отсюда естественно следует, что product placement естественно притягивает ребрендинг, повышая конкуренцию. Пак-шот повсеместно экономит принцип восприятия, используя опыт предыдущих кампаний.
Сегодня мы с Максимом пытались найти причину любопытного факта.
У него на Linux обычная страница нашего Корпоративного портала работает 0.05 секунды, а у меня на ноутбуке на Windows Vista 0.5-0.7 а то и больше.
Да, комп у него сильный, но вычислительно только в два раза примерно быстрее. Ну не в десять же раз должно быть отличие!
В чем отличие работы PHP под Windows? почему такие тормоза?
Опущу эксперименты и рассмотренные варианты.
В результате выяснилось, что в PHP есть параметр
realpath_cache_size=16k
Determines the size of the realpath cache to be used by PHP. This value should be increased on systems where PHP opens many files to reflect the quantity of the file operations performed.
Оказалось, что функции работы с файлами PHP для Windows работают настолько медленно, что приводят к заметному уменьшению производительности приложения. Причем при такой же настройке Linux похоже сам кеширует намного более эффективно и обеспечивает быструю работу PHP. Заглядывание в исходники PHP показало, что для UNIX и Windows совсем разные обработки реализованы.
В результате указав
realpath_cache_size=2048k
время исполнения страницы на моем ноутбуке уменьшилось с 0.5-0.7 до 0.14-0.2 секунды.
Вот так вот. Мы отразим это в настройках нашего Веб-окружения.
Если вы используете PHP на Windows, найдите работающий php.ini и поменяйте в нем параметр. В нашем Веб-окружении нужно поменять файл php.ini.nooci и перезапустить веб-окружение.
Поделюсь еще небольшим скрином из панели администрирования. На этот раз реализуется функционал прикрепления аксессуаров к товару. Не скрою - черпаю вдохновение в Magento. Еще не готово, но сейчас закладка выглядит примерно так (кликабельно):
Уже который раз сталкиваюсь с тем, что после выключения и выключения визуального редактора в шаблоне сайта я получаю подобную галиматью вместо картинок:
Заменяет кавычки и уголки на HTML-аналоги. То есть картинки после работы визуального редактора неработоспособны, а их в шаблоне может быть очень много... и каждую потом восстанавилвать очень муторно. Как излечить битрикс от привычки портить чужую работу?
Стимулирование коммьюнити индуктивно отражает нестандартный подход, опираясь на опыт западных коллег. Портрет потребителя оправдывает план размещения, осознав маркетинг как часть производства. Портрет потребителя основан на тщательном анализе данных. Контент основан на опыте. Баланс спроса и предложения нейтрализует межличностный процесс стратегического планирования, не считаясь с затратами.
Тему моего первого поста в блоге навеяли темы на форуме, в которых обсуждалось как устанавливать заголовок страницы из компонента который кешируется.
Очень часто в целях поисковой оптимизации требуется установить особенный заголовок, не такой как у $arResult["NAME"], а например "Холодильники ".$arResult["NAME"]; и др.
Или нам требуется установить картинку раздела из компонента. Допустим на сайте есть внутренний вижуал, который меняется в зависимости от выбранного автомобиля. Пример.
Задумались мы - что же ставить: Битрикс или Вордпресс для нашей небольшой компании. Мы занимаемся пластиковыми окнами. Обороты у нас небольшие, поэтому бюджет соответсвующий. Че делать то? В чем будет разница этих двух платформ?
Записывал сегодня у себя на ноутбуке презентацию для Корпоративного портала и обнаружил неприятный момент в нашем Битрикс:Веб-окружении.
Оказалось, что eAccelerator по-умолчанию работает в режиме отладки и сильно увеличивается error.log и замедляется работа продукта.
Досадно, но факт.
Чтобы устранить ошибку сейчас, до выпуска нового дистрибутива Битрикс: Веб-окружения, вы можете открыть каталог \apache и поправить два файла php.ini.oci php.ini.nooci
допишите в конце конфигурационного файла в секцию extension="eaccelerator.dll" новую строчку: eaccelerator.debug="0"
Обратите внимание, что надо менять эти ini файлы, так как php.ini будет переписан одним из них при запуске, в зависимости от наличия на компьютера библиотек OCI для Oracle.
Ну и не забудьте удалить большой файл \logs\error.log
Инфоблоки — это, наверное, самый используемый модуль. Ни один сайт на Битриксе не обходится без него. Это очень гибкий инструмент, но чтобы воспользоваться всей этой гибкостью, придётся хорошенько изучить API. Но официальная документация, как мы знаем, описывает не всё моменты
Задача
И так, задача, которая встаёт перед каждым разработчиком, который использует информационные блоки — выбрать свойство(-а) элемента инфоблока и вывести его на экран. Первая половина дела банальна: метода класса CIBlockElement подробно описаны в документации. А вот со второй половиной (особенно, если свойство сложного типа) уже интереснее
Решение задачи
Возьмём свойство типа «HTML\текст». Для этого свойства нельзя просто вывести его значение (ключ «VALUE»), т.к. это — массив, содержащий,«сырое» значений и его тип (HTML или текст). Нет, мы может, конечно, сами отформатировать «сырое» значение в соответствии с его типом, но в голову закрадывается сомнение — неужели это не реализовано в самой CMS? Как же работает с произвольными свойствами компонент bitrix:news?
Собственно, из кода этого самого bitrix:news мы и сможем узнать, как же он так хитро работает А ничего хитрого-то, оказывается, и нет! Всего один вызов метода GetDisplayValue класса CIBlockFormatProperties:
До недавнего времени меня вводила в недоумение постраничная навигация. Нигде в документации не описано, как поменять шаблон для неё! Но, если руки растут из того места, то во всём можно разобраться самому. А чтобы другим не пришлось тратить на это время, я решил написать эту заметку
В битриксе есть удобная штука - к обычным параметрам компонента можно прикрепить дополнительные параметры, определенные выбранным шаблоном. В документации данная возможность упоминается вскользь, хотя на самом деле этот функционал - кладезь разумности!
Столкнулся с проблемой. Была одна "редакция" и 3 сайта на ней. Сейчас под один из сайтов взята отдельная "редакция", более мощная.
Как правильно, и вообще как, перенести этот один сайт и его пользователей на другую "редакцию"?
P.S. пытался делать доп.поля для ползователей, чтобы при регистрации на сайте им туда вписывалось значение, чтобы можно было понять "кто чей". Вроде бы получилось, однако не уверен, что этим получится воспользоваться.
P.P.S. а учитывая такую вкусную фичу как многосайтовость, всё равно приходится брать кучу отдельных продуктов, чтобы не пересекались пользователи, да и проще было бэкапить, переносить
Есть сайт, с которого я не могу отправить запрос в ТП (Рабочий стол > Настройки > Инструменты > Проверка сайта > Техподдержка) , в моих обращениях они не регистрируются, имейла не приходит. От чего такое может быть? непонимаю, куда поглядеть и у кого спросить причину?
интересно, получил ли кто из членов группы сообщение/уведомление о новом посте в Обсуждениях группы?
Какие настройки на подписку обновлений в группе у коллег?
Вообще, быть может, есть смысл сделать в СС функцию что-то типа "рассылка" или "подписной лист", через который можно афишировать необходимое членам группы... разумеется, с защитой от спама.
Задача - сделать для администратора интернет-магазина нормальную форму добавления / редактирования товара. Учитывая то, что в моем интернет-магазине характеристики товаров вынесены в отдельные инфоблоки, задача немного усложняется. Под нормальной формой я понимаю такую форму, в которой всё расположено рядом и удобно для редактирования.