Мне нужна помощь в создании собственного макроса Laravel. В моем старт / global.php Я требовал macros.php
...
require app_path().'/macros.php';
и на моем macros.php У меня есть этот код, который я прочитал в этом сайт.
Form::macro('selectMonths', function()
{
$selectMonth = preg_replace('/></', '><option value="">Month</option><', Form::selectMonth('month'));
return $selectMonth;
});
и результат таков.
<select class="form-control" name="month">
<option value="">Month</option>
<option value="1">January</option>
<option value="">Month</option>
<option value="2">February</option>
<option value="">Month</option>
<option value="3">March</option>
<option value="">Month</option>
<option value="4">April</option>
<option value="">Month</option>
<option value="5">May</option>
<option value="">Month</option>
<option value="6">June</option>
<option value="">Month</option>
<option value="7">July</option>
<option value="">Month</option>
<option value="8">August</option>
<option value="">Month</option>
<option value="9">September</option>
<option value="">Month</option>
<option value="10">October</option>
<option value="">Month</option>
<option value="11">November</option>
<option value="">Month</option>
<option value="12">December</option>
<option value="">Month</option>
</select>
как я могу добавить этот месяц до января, а не после каждого месяца?
Спасибо!
Попробуйте использовать этот шаблон:
/name="month">/
Код:
$selectMonth = preg_replace('/name="month">/', 'name="month"><option value="">Month</option>', Form::selectMonth('month'));
Это должно вставить его только в самом верху вашего списка.
Попробуйте этот код:
Form::macro('selectMonths', function($name, $selected = null, $options = array())
{
$selectMonth = preg_replace('/></', '><option value="">Month</option><', Form::selectMonth($name, $selected, $options), 1);
return $selectMonth;
});
Form::macro('selectYears', function($name, $begin, $end, $selected = null, $options = array())
{
$selectYear = preg_replace('/></', '><option value="">Year</option><', Form::selectYear($name, $begin, $end, $selected, $options), 1);
return $selectYear;
});
Вы просто пытаетесь получить список лет? Если это так, вам не нужен пользовательский макрос. Ларавел тебя покрыл:
{{ Form::selectYear('year', 2013, 2015) }}
И за месяц:
{{ Form::selectMonth('month') }}