Как говорится в заголовке, у меня проблема с падением, которое я сделал. Он содержит список стран, в которые магазин может отправить. Он может создать регион доставки, дать ему имя и затем выбрать все страны, которые попадают под этот регион. затем добавить к нему цену.Распространение в разбивке по странам
Во время проверки я хочу получить список стран, предоставленный веб-магазином, и использовать его, чтобы клиент мог выбрать, где он живет. Вариантами для страны являются те, в которых магазин также отправляет свою продукцию. Однако я столкнулся с некоторыми проблемами.
Основная проблема заключается в том, что способ, которым он был сконструирован, заключается в том, что вы выбираете регион, который будет выполнять перезагрузку страницы с дополнительным параметром в URL-адресе, который добавит регион доставки к заказу, который будет создан. Это вызывает у меня проблему. Поскольку он всегда будет выбирать нижний вариант раскрывающегося списка, а не тот, который я только что выбрал, это означает, что я не могу установить, в какой стране живет человек.
так, если раскрывающийся
США
Китай
и я выбираю США страница перезагружается, и Китай будет парил
Мой код:
Dropdown HTML
{% for shippingRegion in store.getShippingRegions %}
<a style="display: none" id="addShippingRegion{{shippingRegion.id}}" href="{{ path('checkout', {'store_id': store.id, 'shippingRegion': shippingRegion.id}) }}"></a>
{% endfor %}
<div class="collection">
<select onchange="shippingRegionSelectCheck(this)" class="browser-default" id="shippingRegion" name="ShippingRegion">
<option selected disabled>Select a shipping region</option>
{% for key,country in regionCountries %}
{% for c in country %} =
<option id="countrySelect" data-id="{{key}}" selected value="{{c}}" >{{c}}</option>
{% endfor %}
{% endfor %}
</select>
</div>
Функция Javascript перезагрузки страницы
function shippingRegionSelectCheck(regionSelect){
if(regionSelect){
var selected = $('#shippingRegion').find('option:selected');
var extra = selected.data('id');
var country = $('#shippingRegion').val('value');
var href = $('#addShippingRegion' + extra).attr('href');
window.location.href = href;
}
}
Entity
/**
* @ORM\Entity
* @ORM\Table(name="Shipping_Regions")
*/
class ShippingRegion{
public function __construct() {
$this->shipping_weight_prices = new ArrayCollection();
$this->shipping_amount_prices = new ArrayCollection();
}
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", length=100, nullable=true)
*/
protected $name;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
protected $regionType;
/**
* @ORM\Column(type="array", nullable=true)
*/
protected $regionCountry;
, что эхм .. может быть, если это я дам вам знать. Благодаря! – KevinTheGreat
Используя это, я перехожу к ошибке Переменная «selected_country» не существует в webstore \ checkout.html.twig в строке 187 – KevinTheGreat
Вам нужно будет получить эту переменную как-то. Если «страна» находится в запросе в качестве параметра (например, http://example.com/regions?country=USA), вы можете получить этот параметр: '{{c == app.request. get ('страна')? 'selected'}} '. – Travis