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

Тема в разделе "Магазины, электронная коммерция", создана пользователем Andx, 21.10.2009.

  1. Offline

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

    Регистрация:
    20.07.2009
    Сообщения:
    41
    Симпатии:
    2
    Пол:
    Мужской
    Не получается править формы virtuemart (форма регистрации юзера, форма выбора оплат итд), они то на названия полей налезают, то располагаются не во всю ширину блока. Излазил все файлы шаблонов, не смог найти где это зарыто, есть только такие файлы типа как account.shipto.tpl.php но в них можно прописать только общую разметку. Joomla разработчики, помогите!!!
     
  2.  
  3. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    Andx, ставьте firebug и смотрите стили конкретных форм, затем правьте в css, например:
    Код (CODE):
    1. #virt input{
    2. width:50px;
    3. }
     
  4. Offline

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

    Регистрация:
    20.07.2009
    Сообщения:
    41
    Симпатии:
    2
    Пол:
    Мужской
    спасибо, эти штучки я знаю (без файрбага вообще никуда), только с ним все и сделал. Но вот формам не приписаны никакие стили и в каких файлах шаблона они зашиты я не знаю..
     
  5. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    Andx, ну так найдите эти поля в файле шаблона виртуя, какой шаблон можно узнать посмиотреть в урл, затем пририсуйте сласс этому полю и делайте с ним что хотите)
     
  6. Offline

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

    Регистрация:
    20.07.2009
    Сообщения:
    41
    Симпатии:
    2
    Пол:
    Мужской
    Fanamura
    Вы правы, но я пожалуй приведу пример.

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

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

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

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

    Регистрация:
    22.10.2009
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    А в том-то и дело, что никаких стилей нет.
    То есть смотрите класс через firebug и создайте ему стиль в шаблоне.
    Например, чтобы не налезали поля на текст, уменьшаете размер шрифта:
    .formLabel {
    font-size:14px;
    }
     
  8. Offline

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

    Регистрация:
    09.01.2010
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Женский
    Сейчас этим занимаюсь - та же проблема. Нашла файл 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') {

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

Поделиться этой страницей

Загрузка...