1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

[Помощь] VM 2.x Как убрать при регистрации пользователя поле Страна

Тема в разделе "Virtuemart", создана пользователем red_heads, 22 авг 2012.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
  1. red_heads

    red_heads

    Регистр.:
    30 янв 2007
    Сообщения:
    157
    Симпатии:
    26
    Как убрать при регистрации поле Страна. Чтобы только регионы России выводились. Отключила его в меню управления магазином "Поля, заполняемые пользователями". Но тогда не выбираются регионы, т.к. не указана страна по умолчанию. А настройках магазина не могу ни чего найти. Ну подскажите что делать. Другие страны мне не нужны, не вижу смысла в поле в котором выбирать один пункт. Может в самом поле как то можно сделать значение по умолчанию
     
  2. greenscale

    greenscale Создатель

    Регистр.:
    14 авг 2012
    Сообщения:
    27
    Симпатии:
    13
    Может в БД в таблице #__virtuemart_countries остальные страны удалить? тогда будет просто селект с одним значением
     
  3. red_heads

    red_heads

    Регистр.:
    30 янв 2007
    Сообщения:
    157
    Симпатии:
    26
    селект и так с одним значением "РФ", только по умолчанию идет надпись "выберите".

    Нужно найти в каком файле находиться COM_VIRTUEMART_LIST_EMPTY_OPTION "-- Выберите --"
    и вместо него поставить первое в списке значение из базы. Подскажите где этот файл
     
  4. greenscale

    greenscale Создатель

    Регистр.:
    14 авг 2012
    Сообщения:
    27
    Симпатии:
    13
    administrator/components/com_virtuemart/helpers/shopfunctions.php.
    Функция: renderCountryList (строка 237).
     
  5. puagardian

    puagardian One Love

    Moderator
    Регистр.:
    16 июл 2012
    Сообщения:
    433
    Симпатии:
    558
    site.ru/language/ru-RU/ru-RU.com_virtuemart.ini
    здесь находится это значение, строка 207
     
  6. red_heads

    red_heads

    Регистр.:
    30 янв 2007
    Сообщения:
    157
    Симпатии:
    26
    до
    Код:
    $emptyOption = JHTML::_ ('select.option', '', JText::_ ('COM_VIRTUEMART_LIST_EMPTY_OPTION'), $id, $name);
                array_unshift ($countries_list, $emptyOption);
    после
    Код:
                array_unshift ($countries_list);
    не знаю правильно или нет, теперь страна выбрана сразу РФ. Но со страницы регистрации убрать не получилось само поле, тогда не выподает список регионов.
     
  7. greenscale

    greenscale Создатель

    Регистр.:
    14 авг 2012
    Сообщения:
    27
    Симпатии:
    13
    red_heads, в файл components/com_virtuemart/views/user/tmpl/edit_address_userfields.php
    заменяем содержимое строки 76:
    PHP:
    76        echo '        <tr >' "\n";
    на:
    PHP:
            echo '        <tr id="row_'$_field['name'].'">' "\n";
    И в начало данного файла добавляем следующую конструкцию:
    HTML:
    <style>
    #row_virtuemart_country_id{display:none;}
    </style>
    Если нужно поменять еще где-то, действуем аналогично: ищем где создается вся таблица, строкам присваиваем отличный от других класс или id, дописываем display:none;
    Тогда ваша строка существует, но просто не отображается.

    P.S. Если решили добавить не id, а class, то в стилях имя начинается не с '#', а с '.'
    P.P.S. Если не справитесь со скрытием в других местах - пишите где нужно еще убрать, разберем подробно.
     
  8. Magl

    Magl Писатель

    Регистр.:
    29 авг 2012
    Сообщения:
    5
    Симпатии:
    0
    Делаю сайт с VirtueMart 2.0.18a
    тоже надо убрать страну или установить по умолчанию Россию и скрыть поле что бы люди не видели его
    попробовал ваш способ
    в файле administrator/components/com_virtuemart/helpers/shopfunctions.php
    вместо этого
    Код:
    $emptyOption = JHTML::_ ('select.option', '', JText::_ ('COM_VIRTUEMART_LIST_EMPTY_OPTION'), $id, $name);
                array_unshift ($countries_list, $emptyOption);
    оставить только
    Код:
    array_unshift ($countries_list);
    но у меня всё равно потребовало выбрать страну :(

    может мне ещё что-то надо поменять ?
    подскажите как по шагам убрать страну из обязательного поля
    Спасибо !
     
  9. CROSP

    CROSP Писатель

    Регистр.:
    9 июл 2012
    Сообщения:
    5
    Симпатии:
    0
    надо закомментировать в файле: administrator/components/com_virtuemart/classes/ps_checkout.php
    4 строки:
    Код:
    //$q .= "INNER JOIN #__{vm}_country c ON (i.country=c.country_3_code) ";
    //$q .= "LEFT JOIN #__{vm}_state s ON (i.state=s.state_2_code AND s.country_id=c.country_id) ";
    И ниже:
    Код:
    //$q .= "INNER JOIN #__{vm}_country c ON (i.country=c.country_3_code OR i.country=c.country_2_code) ";
    //$q .= "LEFT JOIN #__{vm}_state s ON (i.state=s.state_2_code AND s.country_id=c.country_id) ";
     
  10. prayer

    prayer Постоялец

    Регистр.:
    12 авг 2011
    Сообщения:
    71
    Симпатии:
    11
    У себя на сайте я решил эту проблему, выставив по умолчанию Украину(именно она мне была нужна).
    В файле administrator/components/com_virtuemart/helpers/shopfunctions.php в раене строки 262 перед строкой return JHTML::_('select.genericlist', $countries, $idA, $attrs, $id, $name, $countryId); я вставил код if($countryId == 0){$countryId = 221;} где 221 - id Украины. В итоге должно получится следующее
    if($countryId == 0){$countryId = 221;}
    //OS Ignite - If no country selected, then select US by default
    return JHTML::_('select.genericlist', $countries, $idA, $attrs, $id, $name, $countryId);
    Определить id вашей страны можно отсчитав по списку стран относительно Украины например. Ну я честно говоря подобрал таким образом. Надеюсь кому то мой способ поможет!
     
    Magl нравится это.
Статус темы:
Закрыта.