ru.usa пишет: Битрикс прежде всего не был мной бойкотирован из-за моей уверенности в том, что профессионалы помогут
С какой стати мы вам поможем зарабатывать вам деньги? Может вам еще услуги СЕО предоставить? Я вот больше месяца с гуглом бьюсь, никак мой сайт выше не поднимает, ну что у него за логика, а?
Я инженер, который решает задачи, а не пишет на языке. Архитектура, разработка, DevOps — подбираю инструменты под цель, строю решения, которые работают в проде и масштабируются без боли.
Местный социопат в топик еще не заглядывал, что вы. Про Роберта и Вадима - ок, не поняли, значит проехали.
Может вам стоит озвучить задачу, для решения которой требуется "написание классов под ключ с использованием встроенных классов не более 10-15% от общего функционала"?
Профессионалы помогут. За деньги. Как любит Антон в пример приводить автомастерскую - вы же не покупаете неизвестный вам гибридный Prius, чтобы приехать к тойотовским спецам и вольготно так заявить: "Ребят, тут в книжке не сказано как прикрутить к ней роллсройсовские авиадвигатели, бетономешалку и гусеницы. А мне, знаете ли, нужно. Пример бы какой нибудь. Сквозной. Не-не, я то всё умею, просто тут как то всё не так." А потом сокрушенно так "Мда, вот меня чёрт дёрнул - надеялся на них, а всё зря. В корне ошибался."
Над вами куча народа, которая РЕАЛЬНО могла бы помочь, уже тупо издевается, и всё только из-за вашего оскала, с которым вы сюда, простите, припёрлись. Может время и покажет, что вы действительно суперспец и в одиночку справитесь с любой гиперсложной задачей, коммьюнити не расстроится, но сейчас вы никто и зовут вас никак.
п.с. социопат - индивид с патологической неспособностью или нежеланием к адаптации в социуме.
ru.usa пишет: Задачу обрисовать очень сложно... затягивать длинную ленту тут на форуме побоялся т.к. топик как пить дать за флудят местные так называемые "Эксперты"... что собственно и случилось... более половины постов с оскорблениями или водой...
Хм. Если задачу сложно описать, то решить её будет ещё сложнее. Особенно на незнакомой территории.
Возможно, описать задачу вам мешает то, что вы пытаетесь решить её средствами джумлы, а в битриксе всё устроено несколько иначе (спроецировать кактус на фикус, ага). Как сформулировал задачу заказчик?
ru.usa Давайте попробую рассказать концепцию битрикс и отличие его от Joomla: 1. Шаблоны сайта в битрикс примерно соответствуют по концепции шаблонам сайта в Joomla. Про шаблоны страниц можно смело забыть на полгода, это непринципиальная информация 2. В шаблоне сайта для Битрикс нет позиций под модули с номером, как в Joomla. И вы не можете из админки указать какой модуль в какую позицию ставить, просто изменив число. Аналог модуля в joomla - это компонент в битрикс. Компонент получает данные откуда-то и выводит их в нужном вам виде. За правильный вывод отвечает шаблон компонента. В большинстве случаев вам достаточно компонента "новости" и компонента "каталог". У одного компонента может быть несколько шаблонов, по разному выводящих информацию. Например, если вам нужно вывести на сайте новости и статьи, вы создаете две папки на диске, кидаете в каждую из них по комплексному компоненту "Новости" и настраиваете их на источник данных. Дальше вы можете перерабатывать шаблоны. 3. Создание шаблона сайта для 1С-Битрикс по готовой верстке заключается в выделении блоков и размещении место этих блоков компонентов. Далее эти компоненты настраиваются на источник данных и для них редактируются шаблоны вывода в соответствие с версткой сайта 4. Компоненты бывают простые и комплексные. Простой компонент может делать только одно действие, например, показать детальную новость. Комплексный компонент реализует весь функционал новостного раздела: лента, детальная новость и др. и состоит из нескольких простых 5. Модули в битрикс - это (если кратко) спецштука для объединения необходимых программистам функций в одну кучку и разделения по редакциям. Забудьте про них на время. Аналог в Joomla (как мне кажется) - расширения. Например, http://extensions.joomla.org/extensions/vertical-markets/food-a-beverage/8404 6. В битрикс разделяются динамические и статические данные. Есть чисто динамические блоки, например, каталог товаров. Есть статические. Есть смешанные. Однако, для того, чтобы вывести динамическую информацию, например, каталог товаров, вы должны сделать "домик" - папку на диске, в которой будет находиться комплексный компонент "каталог" и обрабатывать обращения к динамической информации. В Joomla чуть другая архитектура - в ней все запросы сразу попадают на index.php, который подключает нужный модуль и забирает из него данные.
Попробую ответить на ваши вопросы:
Цитата
Во первых не достаточно чётко выражена архитектура MVC, хотя ООП достаточно солидный. В официальном API мало живых примеров или хотя бы ссылки на статьи или блоги с этими примерами. Тот факт, что динамические данные записываются физически на диск (например создание раздела - это создание каталога на диске, а создание страницы - это создание файла) это меня повергло в шок, хотя не смогу объективно ответить что лучше: оперировать данными читая и записывая их в виде файлов на диск, получая в итоге десятки и десятки тысяч фалов или всё в одной БД и получая данные в "нормальной" форме. Возможно стереотип или привычка, но данные люблю видеть в первой, второй и ... нормальной форме. Думаю, раз уж люди живут так и судя по эмоциям им это жутко нравится, то резон в этом определённо есть... Осталось его разглядеть...
Вы сделали неправильный вывод. Например, для каталога товаров действительно нужно создать папку на диске, но только одну, например, /catalog, поместить туда комплексный компонент и далее все товары могут иметь, например, вид /catalog/1029.html Естественно, что эти адреса будут "мнимыми" и обрабатываться системой. Файлов под них в папке /catalog не создается.
Однако, для каждого товара будет создан файл в кэше, чтобы, при следующем обращении покупателя сервер не напрягался с запросами к БД. Это и позволяет запускать магазины уровня "Эльдорадо"
Цитата
Часто встречается переменная $APPLICATION
Объектная модель битрикс не совсем схожа с Joomla. Очень редко вам действительно потребуется работать с нестандартными вещами в глобальных переменных.
Большинство вещей реализуется через компоненты, и в шаблоне компонента вы оперируете массивами $arResult - это результат работы комопнента (данные) и $arParams - это входные параметры.
------------ P.S. Начиная работать с 1С-Битрикс, ребята говорили "здесь надо свой компонент", "свое свойство" и т.д. Сейчас познали ДАО стандартных компонентов и счастливы.
ITConstruct. Разработка сайтов в Москве и Новосибирске. Внедрение корпоративных порталов. Техническая поддержка