Если клиент дошел до цитирования ЗПП, значит вы, ТС, его довели и еще хватает наглости просить советов как бы его еще куда-нить увести подальше. Отдайте деньги и заплатите за риски. Можете вычесть из получки того самого шофера, а лучше конечно из получки директора, ибо во всем виновато начальство.
Это примерно как спроектировать автомобиль с висящей елочкой.
Без метафор. Эту функцию можно сделать за полчаса и приделать к любой машине просто как елочку повесить... опять метафора, блин.
Да я вообще-то сам в такой конторе служу.
Такая же тема http://stackoverflow.com/questions/15639590/using-preg-replace-to-truncate-url
ключевые слова поискать еще php truncate middle url
Да, можно свою мессагу рендерить, причем с клювиком типа вот отседова ошибка произошла. То есть когда юзер жмет кнопку отправить и находится ошибка, вылезает плашка у неправильного поля с текстом что там неправильно.
Кстати на яваскрипт.ру была похожая тема, я скопирую и сюда:
var FormField=function(el){ var type= el.type, value= el.value.trim(), pat= el.getAttribute('pattern'), req= el.getAttribute('required'), err= el.getAttribute('errmsg')+"\n"+el.getAttribute('placeholder'), rules={ 'text':function(){ var len=value.length; if(req && len<req) throw 'Минимальное количество знаков: '+req; else if(len && pat && !new RegExp(pat).test(value)) throw err; }, 'select-one':function(){ if(el.selectedIndex<0 && req) throw 'Необходимо выбрать из списка'; }, 'select-multiple':function(){ var mul=el.getAttribute('multiple'), for(var count=0, i=0; i<el.length; i++) if(el.selected) count++; if(req && count<req) throw 'Необходимо выбрать не меньше чем '+req; else if(mul && count>mul) throw 'Можно выбрать не больше чем '+mul; } }; return { el:el, error:null, title:el.title, validate:function() { if(type in rules) rules[type](); else rules.text(); } };};
Как видите функция возвращает объект внутри которого любое поле ввода кроме чека и радио и файлов еще. Этот объект умеет сам себя проверять. Плохая проверка выкидывает исключение, которое ловится и рендерится в "контроллере":
var fields={}, /* здесь все те самые поля-объекты */validate=function(e) { /* эта функция вешается на всякие там события у полей */ var f=fields[this.name]; /* если была, то предыдущая ошибка сбрасывается перед проверкой */ if(f.error) { f.el.title=f.title; f.el.classList.remove('invalid'); f.error=null; } try { f.validate(); } catch(err) { submit.disabled=f.error=true; /* кнопка не оживет пока есть хоть 1 ошибка */ /* рендерит ошибку если сработало по событию, по вызову из скрипта не рендерит */ if(e.type!='input') { f.title=f.el.title; f.el.title=err; f.el.classList.add('invalid'); } }},
Теперь если перебрать все поля формы и повесить на change и keyup функцию validate и одновременно запихать которые нужно проверять в массив, то получится приложение.
Модель хоть как придется писать, это точно уже ваши нужды. То есть на сервере же все определяется, форма там рендерится со всеми этими атрибутами для проверок. По той же модели затем сервер проверяет - только он может проверить. А жаба лишь служит легкой защитой, экономит ресурсы сервера, типа, хотя это вообще может быть не актуальным. Понимаете? То есть можно форму тупо аяксом отгружать и пусть сервер чекает, если проканало - он запишет, иначе выдаст список ошибок который вылезет на странице. То есть уже не поля обведутся, а натурально плашка появится с перечислением где юзер был неправ.
Заказы как я понимаю надо постить в другую тему, вы туда отпостите, на равных условиях, чтобы любой мог предложить.
Единовременно, вручную: если флеш качает с сервера - смотрите по заголовкам будучи онлайн (на том сайте) так ли это, и, из кеша все его барахло достаете. xml скорее всего придется скачать вручную - то есть адрес вбить и получить.
Разница есть, не придется конвертить в хтмл-энтитьки. Дата- она json, нормально туда его и положить можно, по нему и рендерить, в парадигме MVC. Да это пустяки, конечно, какая-то подгрузка при такой-то загрузке. Типа мы круче гугля, правда 4 мега вышло...
Это заказчик такой грамотный что друпал пожелал? Везет же некоторым..
Короче это все ложь про цимесы. Не бывает и невозможно создать такие, которые бы имели кнопку сделать зашибись. 99 процентов гигабайтов проблем с коробками у тех, кто верит будто бы есть там такая кнопка. Типа если запустил страницу Hello World! остальное попрет мама не горюй.
Цимесы написаны профессионалами для облегчения участи профессионалов. А не для любителей. Любители должны делать статические сайты в Дримвивере и "радовацца". :)---------- Добавлено 23.07.2015 в 12:22 ----------Просто как иллюстрация
вот такая вот вселенная. Там где 3 тега, 2 стиля и 1 функция на все случаи жизни и обстоятельства, у человека-друпала картина маслом выше висит.
Надо $value вывести, без формата. ---------- Добавлено 23.07.2015 в 11:57 ---------- ЗЫ Я видел коды опенкарт в период осмотра что уже написано. Старье конечно, несусветное и сидеть под этим моросящим дождем из переменных которые кочуют из инклюды в инклюду глобально вообще неуютно. Сейчас так по-моему уже не делают. Фиг же найдешь кто ее прикокнул, это $value. А прикокнуть по стилю программирования могут запросто. Например в чем сакральный смысл двух одинаковых проверок? Чтобы типа выкосить одну еслиф что? Типа юзеру метанарратив - порть чувак что угодно, запростяк. В нормальных же фреймворках юзеру сразу пишут - вот мы тебе унаследовали затычку - ее мучай, а там - не мучай.