Как править внешний вид форм?

Discussion in 'Магазины, электронная коммерция' started by Andx, Oct 21, 2009.

  1. Offline

    Andx Недавно здесь

    Joined:
    Jul 20, 2009
    Messages:
    41
    Likes Received:
    2
    Gender:
    Male
    Не получается править формы virtuemart (форма регистрации юзера, форма выбора оплат итд), они то на названия полей налезают, то располагаются не во всю ширину блока. Излазил все файлы шаблонов, не смог найти где это зарыто, есть только такие файлы типа как account.shipto.tpl.php но в них можно прописать только общую разметку. Joomla разработчики, помогите!!!
     
  2.  
  3. Fanamura
    Offline

    Fanamura Доброта

    Joined:
    Mar 12, 2007
    Messages:
    5,094
    Likes Received:
    158
    Gender:
    Male
    Andx, ставьте firebug и смотрите стили конкретных форм, затем правьте в css, например:
    Код (CODE):
    1. #virt input{
    2. width:50px;
    3. }
     
  4. Offline

    Andx Недавно здесь

    Joined:
    Jul 20, 2009
    Messages:
    41
    Likes Received:
    2
    Gender:
    Male
    спасибо, эти штучки я знаю (без файрбага вообще никуда), только с ним все и сделал. Но вот формам не приписаны никакие стили и в каких файлах шаблона они зашиты я не знаю..
     
  5. Fanamura
    Offline

    Fanamura Доброта

    Joined:
    Mar 12, 2007
    Messages:
    5,094
    Likes Received:
    158
    Gender:
    Male
    Andx, ну так найдите эти поля в файле шаблона виртуя, какой шаблон можно узнать посмиотреть в урл, затем пририсуйте сласс этому полю и делайте с ним что хотите)
     
  6. Offline

    Andx Недавно здесь

    Joined:
    Jul 20, 2009
    Messages:
    41
    Likes Received:
    2
    Gender:
    Male
    Fanamura
    Вы правы, но я пожалуй приведу пример.

    Есть файлик account.billing.tpl.php выводящий структуру странички где можно заполнить данные юзера. В нем сверху можно только поправить поле где есть кнопка сохранить и назад. А вот поправить сами поля не понимаю как. Потому что строка выдающая эти поля такая:

    <?php
    ps_userfield::listUserFields( $fields, $skip_fields, $db );
    ?>

    Блок который выводится по этому коду шириной но всю страничку, мне так и надо, заключать его в див смысла нет. Но вот внутри этого блока сами поля с названиями наезжают друг на друга и часть названий скрывается за inputbox. Вот как раз код выводящий поля не знаю где поправить, чтобы дать им паддинг маржин width, чтоб в итоге все растянулось на всю ширину красиво.... Извините за назойливость :)
     
  7. Offline

    slaviq Недавно здесь

    Joined:
    Oct 22, 2009
    Messages:
    1
    Likes Received:
    0
    Gender:
    Male
    А в том-то и дело, что никаких стилей нет.
    То есть смотрите класс через firebug и создайте ему стиль в шаблоне.
    Например, чтобы не налезали поля на текст, уменьшаете размер шрифта:
    .formLabel {
    font-size:14px;
    }
     
  8. Offline

    Olesea Недавно здесь

    Joined:
    Jan 9, 2010
    Messages:
    3
    Likes Received:
    0
    Gender:
    Female
    Сейчас этим занимаюсь - та же проблема. Нашла файл ps_userfield.php (administr/comp/com_virtuemart/classes). Там этот цикл и описан: разделены названия и значения полей. Заключила блоки в отдельные таблицы, добавив табличные теги в строки:
    примерно 345стр -
    Код (PHP):
    1. echo '<fieldset>
    2. <legend class="sectiontableheader">'.$field->title.'</legend><table><tr><td colspan="2">';
    3. $delimiter++;
    4. continue;
    5. echo '</td></tr>';
    6. }
    7. echo'<tr><td>';
    8. echo '<div id="'.$field->name.'_div" class="formLabel ';


    363 стр:
    Код (PHP):
    1. echo ' </div></td><td>
    2.           <div class="formField" id="'.$field->name.'_input">'."\n";
    3.            
    4.             /**
    5.              * This is the most important part of this file
    6.              * Here we print the field & its contents!
    7.              */

    и 511 закрываю таблицу:
    Код (PHP):
    1. echo '<br /></div></td></tr>
    2.                       <br style="clear:both;" />';
    3.        }
    4.         if( $delimiter > 0) {
    5.             echo "</fieldset>\n";
    6.         }
    7.        echo '</table></div>';
    8.        
    9.        if( VM_REGISTRATION_TYPE == 'OPTIONAL_REGISTRATION') {

    Все выровнялось, но расстояние между блоками большое, как сократить (может глаз замылился?)
     

Share This Page

Loading...