QuickForm для Джумла - как убрать ссылку

Долго мучилась, но все же нашла, как убрать в этом интересном компоненте ссылку,п ри этом чтобы не пострадал функционал. В скрипте вывода формы заложено сразу несколько проверок на наличие ссылок.
Итак, начнем.
1. Убираем саму ссылку:
По пути в файле \administrator\components\com_quickform\helpers\form.php
на строках 244 - 249 удаляем ее из функции:
function getQFlink() {...
<a href="http://bigemot.ru" target="_blank">QuickForm</a>
...}

2. Обманываем проверку на наличие ссылки в коде:
По пути в файле \components\com_quickform\js\quickform.js
на строке  300 в функции:

function qfGetReq(form,c,h){
   var el=form.elements,cn='.'+c.slice(2,4);
   var qf=$$('.qfli'+'nk a').length?($$('.qfli'+'nk a')[0].href):null,qf_h='ot'+cn;
   if(qf&&qf.slice(12,17)!=qf_h) animHtml(form,'');
   else if(!qf||qf.rel)h!=qfel()? animHtml(form,''):'';qfGetReq2(el);
   qfsumBox(form,c,h);
}
подменяем вывод исчезающей формы с очищением ее содержимого в случае не прохождения проверки на саму форму animHtml(form,'') -> qfsumBox(form,c,h):

function qfGetReq(form,c,h){
   var el=form.elements,cn='.'+c.slice(2,4);
   var qf=$$('.qfli'+'nk a').length?($$('.qfli'+'nk a')[0].href):null,qf_h='ot'+cn;
   if(qf&&qf.slice(12,17)!=qf_h)qfsumBox(form,c,h);
   else if(!qf||qf.rel)h!=qfel()?qfsumBox(form,c,h):'';qfGetReq2(el);
   qfsumBox(form,c,h);
}

Теперь форма выводится, но осталась проблема: не считается общая цена!
Тогда  на строке  83 в функции:

function qfsumBox(form,c,h) {
   qfEvents(form);
   if(!form.start)return;
   var start = parseFloat(form.start.value.replace(",",".")),q='qfbig',add,qq=1;
   var el=form.elements;c=c.slice(2,4);
   oldprice=q.slice(2)+(qq?'em':'');clflags(form);
   if(form.formul.value==1)price=qfCalculator1(el,start);
   else if(form.formul.value==2)price=qfCalculator2(el,start);
   else price=qfCalculator(el,start);
   oldprice+='key[ot.'.slice(4);
   if(parseInt(price)!=(price*1))price=parseFloat(price).toFixed(2);
   form.getElement('.qfpriceinner').innerHTML=qfstrPrice(price,c,h);
}

заменяем вывод цены  innerHTML=qfstrPrice(price,c,h); на  innerHTML=price, в итоге получится:

function qfsumBox(form,c,h) {
   qfEvents(form);
   if(!form.start)return;
   var start = parseFloat(form.start.value.replace(",",".")),q='qfbig',add,qq=1;
   var el=form.elements;c=c.slice(2,4);
   oldprice=q.slice(2)+(qq?'em':'');clflags(form);
   if(form.formul.value==1)price=qfCalculator1(el,start);
   else if(form.formul.value==2)price=qfCalculator2(el,start);
   else price=qfCalculator(el,start);
   oldprice+='key[ot.'.slice(4);
   if(parseInt(price)!=(price*1))price=parseFloat(price).toFixed(2);
   form.getElement('.qfpriceinner').innerHTML=price;
}

Вот и все.

Теперь форма выводится и все в ней считается и при этом нет никаких левых ссылок ))







Комментарии

  1. Добрый день!
    В новой версии QuickForm2 - 1.2.16 Указанные Вами файлы изменились. Если найдете время, то ждем от Вас новую, полезную статью!

    ОтветитьУдалить
  2. а не проще в css написать display:none? :)

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения из этого блога

Автогенерация мета-тегов через шаблоны для категорий и товаров в VirtueMart 3.x

Конвертер валют НБРБ для VirtueMart 2.6