При том, что я знаю, как устроена партнерская программа 1С. Она не нацелена на качественную автоматизацию, она нацеленена на выкачивание бабла. Я 6 лет внедренцем проработал.
nginx по-умолчанию пропускает все типы запросов. Что у вас за ним стоит? Apache или php-fpm?
И гляньте заголовки ответа, в частности Server, если отлуп идет непосредственно с nginx, там будет стоять nginx.
Это печаль, на самом деле. Я тут столкнулся в с проектом, где была использована библиотека виджетов для того, чтобы элементы twitter bootstrap руками не писать.
Вот где ад - поменять мелочь в верстке, упрятанной вглубь виджета, становится занятием на час-полтора.
Вы надумали себе проблему.
С какой стати способ расчета должно меняться в процессе расчета?
У вас есть исходная сумма. Исходя из этой суммы вы определяете вариант расчета комиссии и по нему считаете.
Если у вас 168 золота и вы отправляете срочным вы просто отнимаете от 168 18 золотых и от 150 считаете по пропорции. Пропорция от 150 потому, что фактически человек переводит 150 золотых, 18 вы с него уже удержали и в пропорцию их включать не надо. В итоге у вас получится сумма, к которой вы прибавите 1% от нее, прибавите 18 и у вас получится 168.
По вопросу:
Если вы вынуждены вызывать Attribute::model()->with('options'), значит у вас что-то не в порядке с проектированием моделей и связей между ними.
У вас должна быть модель, отображающая промежуточную таблица many-to-many (если я правильно понял, это у вас options), из модели товара к ней должна быть связь has_many.
В самой модели options у вас должна быть связь belongs_to к модели atribute
Выбирая товары вы говорите goods->with('options','options.attribute')->findAll($criteria)
Вы этом случае такой вызов вторым запросом к БД "жадно" вытащит все значения вариативных параметров к выбранным товарам, и соотв. аттрибуты.
На все про все уйдет два запроса.
У меня бэкэнд на Yii, привязка сущностей к файлам сделана следующим образом:
Есть сущность, у которой могут быть "вложения". Есть сущность "вложение".
Она может быть связана с какой-либо родительской сущностью путем указания className + id, либо существовать сама по себе.
Когда я загружаю файл, я автоматически создаю сущность "вложение", не указывая данные родителя - его еще нет, а обратно возвращаю id вложения. При сохранении родительская сущность указывает id вложений, которые ей упали после загрузки файлов, и этим вложениям прописываются className и id.
Надо было не предлагать, а сказать, что это единственно возможный вариант провернуть такое дело. И в GMail ткнуть носом :)
На самом деле все остальное это мрачные костыли, возникающие из-за ограничений браузеров. Так что это больше вопрос политики, нежели разработки.
1C на образ мышления влияет очень сильно, по одной простой причине - не бывает просто программиста 1С.
Программист 1С это человек, который должен быть хорошо подкован в предметной области. А их, в случае с 1С, очень много - голая бухгалтерия, расчет зарплаты, CRM, логистика и прочее и прочее.
Вы никому не будете нужны, как человек, который умеет написать цикл - только как человек, который умеет решить задачу, поставленную заказчиком, используя для этого систему, на которой у них построен учет. В вашем случае это 1С.
Я не верю, что можно эффективно разрабатывать учетные системы на 1С и параллельно какие-то мало-мальски серьезные решения на других ЯП - сильно много времени и умственных усилий отнимает 1С и все, что с ней связано.
Это все правильно, проблема только в том, что при таком подходе через пару-тройку запросов гугл выдаст вам капчу - он отслеживает поведение пользователя и блокирует поисковые запросы от ботов.
Так что тут надо уже прокси, как минимум.
А парсить сам бог велел каким-нибудь phpQuery
Но помимо запросов к БД бывают же еще запросы, которые вылетают из кеша, например. Т.е. выполняется запрос к БД, а параллельно отдаются еще несколько из кеша. Или запросы, связанные с обращениями к сторонним API, которые тоже будут блокировать воркер в случае с PHP.
Вспомнил, что не работало — когда он выгружает элементы, часть из них (или все, не помню) он делает картинками.
Вот эти картинки для элементов с русскими названиями не грузились, причем выборочно. Если не ошибаюсь, не хотели грузиться, если в названии была буква й
echo $data->{Yii::app()->params[column]};