QuickForm для Джумла - как убрать ссылку
Долго мучилась, но все же нашла, как убрать в этом интересном компоненте ссылку,п ри этом чтобы не пострадал функционал. В скрипте вывода формы заложено сразу несколько проверок на наличие ссылок.
Итак, начнем.
1. Убираем саму ссылку:
По пути в файле \administrator\components\com_quickform\helpers\form.php
на строках 244 - 249 удаляем ее из функции:
Итак, начнем.
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; }
Вот и все.
Теперь форма выводится и все в ней считается и при этом нет никаких левых ссылок ))
Добрый день!
ОтветитьУдалитьВ новой версии QuickForm2 - 1.2.16 Указанные Вами файлы изменились. Если найдете время, то ждем от Вас новую, полезную статью!
а не проще в css написать display:none? :)
ОтветитьУдалить