Joomla 1.5 VM и создаваемые пользователем поля (инструкция по устранению одного бага)

Discussion in 'Магазины, электронная коммерция' started by woojin, Aug 8, 2010.

  1. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    надо было создать текстовое поле для внесения комментариев, т.е. textarea
    всё прекрасно создалось, но при выводе этого текстового поля получилось неувязочка - в поле откудато взялся "0"=O
    не мудрствуя лукаво решил посмотреть, а где же всё таки эти поля выводятся на экран - нашел файл administrator/components/com_virtuemart/classes/ps_userfield.php
    в строках 423-425 производится вывод этих textarea
    Код (PHP):
    1. case 'textarea':
    2.     echo '<textarea name="'.$field->name.'" id="'.$field->name.'_field" cols="'.$field->cols.'" rows="'.$field->rows.'" '.$readonly.'>'.$db->sf($field->name, true, false).'</textarea>';
    3.     break;

    УРА-ТИПО ПОБЕДИЛ!!!!!!!!
    а нет, немного поразмыслив - полез глубже, что же это за функция такая $db->sf($field->name, true, false)?
    по всем её признакам она находиться в файле administrator/components/com_virtuemart/classes/ps_database.php строки 202-233
    немного потыкавшись обнаружил что за возврат значения отвечает строка №223
    вставил туда вот такой код:
    Код (PHP):
    1. $tmp_strip_slash=stripslashes($default[$field_name]);
    2.     $sl=strlen($tmp_strip_slash);
    3.     if($sl=1 && $tmp_strip_slash=='0'){$tmp_strip_slash='';}
    4.     //return  stripslashes($default[$field_name]);}
    5.     return $tmp_strip_slash;

    и после этого "0" перестал появляться при выводе этого поля на экран, теперь победил:punk::yahoo:

    P.S. возможно что возврат значения в этой же функции происходит и строками выше (207 или 215) но пока не увидев что именно очерез них возвращается трогать их не стал

    пользуйтесь не обляпайтесьB)

    P.P.S. кому не влом ставьте "+"
     
    Last edited: Aug 8, 2010
  2.  

Share This Page

Loading...