direction show logic change #31

Merged
aslan merged 1 commits from RomanGolienko/Roman_applicant-site:new-design into main 2024-03-15 10:39:04 +03:00
2 changed files with 42 additions and 19 deletions

View File

@ -4,21 +4,23 @@ namespace App\Services;
use App\Models\Direction; use App\Models\Direction;
use Illuminate\Support\Facades\URL; use Illuminate\Support\Facades\URL;
use PhpParser\Node\Expr\Array_;
class DirectonHtmlBuilder class DirectonHtmlBuilder
{ {
private Direction $direction; private array $direction;
public function __construct($direction) public function __construct($direction)
{ {
$this->direction = $direction; $this->direction = $direction;
} }
public function getHTML() public function getHTML()
{ {
// phpcs:disable
$direction = $this->direction; $direction = $this->direction;
$fon_3 = URL::to('img/front-page/bakalavr-special/fon3_blok.png'); $fon_3 = URL::to('img/front-page/bakalavr-special/fon3_blok.png');
return "<div class=\"offcanvas offcanvas-bottom\" data-bs-scroll=\"true\" data-bs-backdrop=\"false\" tabindex=\"-1\" id=\"offcanvasScrolling-{$direction->id }\" aria-labelledby=\"offcanvasScrollingLabel-{$direction->id}\" style=\"height: 100%; font-family: Geologica-Medium; overflow-y: auto ; background-image: url({$fon_3}); color: #004329\"> $educationForm = implode(", ", $direction['educationForm']);
return "<div class=\"offcanvas offcanvas-bottom\" data-bs-scroll=\"true\" data-bs-backdrop=\"false\" tabindex=\"-1\" id=\"offcanvasScrolling-{$direction['id'] }\" aria-labelledby=\"offcanvasScrollingLabel-{$direction['id']}\" style=\"height: 100%; font-family: Geologica-Medium; overflow-y: auto ; background-image: url({$fon_3}); color: #004329\">
<div class=\"mx-5 \"> <div class=\"mx-5 \">
@ -32,11 +34,11 @@ class DirectonHtmlBuilder
<div class='col-md-6 col-12 d-block'> <div class='col-md-6 col-12 d-block'>
<div class=\"\"> <div class=\"\">
<div class=\"display-6 \" style=\"font-family: Geologica-Light\"> {$direction->code} </div> <div class=\"display-6 \" style=\"font-family: Geologica-Light\"> {$direction['code']} </div>
<div class=\"display-5 \" > {$direction->name}</div> <div class=\"display-5 \" > {$direction['name']}</div>
</div> </div>
<div class=\"mt-4\"> <div class=\"mt-4\">
<p style=\"text-align: justify;\">{$direction->description}</p> <p style=\"text-align: justify;\">{$direction['description']}</p>
</div> </div>
</div> </div>
@ -46,31 +48,32 @@ class DirectonHtmlBuilder
<div class=\"p-3 px-5 border-success fs-4\" style='border-radius: 50px; border: 2px solid;'> <div class=\"p-3 px-5 border-success fs-4\" style='border-radius: 50px; border: 2px solid;'>
<div > Уровень образования: <div > Уровень образования:
<strong>{$direction->educationLevel->name} </strong> <strong>{$direction['educationLevel']} </strong>
</div> </div>
<hr class='d-block d-md-none'><br> <hr class='d-block d-md-none'><br>
<div > Форма обучения: <div > Форма обучения:
<strong>{$direction->educationForm->name} </strong> <strong> {$educationForm}
</strong>
</div> </div>
<hr class='d-block d-md-none'><br> <hr class='d-block d-md-none'><br>
<div > Бюджетные места: <div > Бюджетные места:
<strong >{$direction->budget_places} </strong> <strong >{$direction['budget_places']} </strong>
</div> </div>
<hr class='d-block d-md-none'><br> <hr class='d-block d-md-none'><br>
<div > Квота: <div > Квота:
<strong >{$direction->quota} </strong> <strong >{$direction['quota']} </strong>
</div> </div>
<hr class='d-block d-md-none'><br> <hr class='d-block d-md-none'><br>
<div > Места на контракт: <div > Места на контракт:
<strong >{$direction->paid_places} </strong> <strong >{$direction['paid_places']} </strong>
</div> </div>
<hr class='d-block d-md-none'><br> <hr class='d-block d-md-none'><br>
<div > Стоимость платного обучения: <div > Стоимость платного обучения:
<strong >{$direction->cost_paid_place} </strong> <strong >{$direction['cost_paid_place']} </strong>
</div> </div>
<hr class='d-block d-md-none'><br> <hr class='d-block d-md-none'><br>
<div > Период обучения (в годах): <div > Период обучения (в годах):
<strong>{$direction->period} </span> <strong>{$direction['period']} </span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -359,20 +359,40 @@
</tr> </tr>
@foreach($faculty->departments as $department) @foreach($faculty->departments as $department)
@foreach($department->directions as $direction) @php
$napr = array();
foreach ($department->directions as $direction){
$napr[$direction->name]['educationForm'][$direction->name . ' ' . $direction->id] = $direction->educationForm->name;
$napr[$direction->name]['id'] = $direction->id;
$napr[$direction->name]['code'] = $direction->code;
$napr[$direction->name]['educationLevel'] = $direction->educationLevel->name;
$napr[$direction->name]['name'] = $direction->name;
$napr[$direction->name]['budget_places'] = $direction->budget_places;
$napr[$direction->name]['quota'] = $direction->quota;
$napr[$direction->name]['paid_places'] = $direction->paid_places;
$napr[$direction->name]['cost_paid_place'] = $direction->cost_paid_place;
$napr[$direction->name]['period'] = $direction->period;
$napr[$direction->name]['description'] = $direction->description;
}
@endphp
@foreach($napr as $el)
<tr> <tr>
<td> <td>
<a class=" border border-dark rounded-3 p-2 hover1" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasScrolling-{{ $direction->id }}" aria-controls="offcanvasScrolling" role="button">{{ $direction->name }}</a> <a class=" border border-dark rounded-3 p-2 hover1" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasScrolling-{{ $el['id'] }}" aria-controls="offcanvasScrolling" role="button">{{ $el['name'] }}</a>
@php @php
$DirectonHtmlBuilder = new DirectonHtmlBuilder($direction); $DirectonHtmlBuilder = new DirectonHtmlBuilder($el);
echo $DirectonHtmlBuilder->getHTML(); echo $DirectonHtmlBuilder->getHTML();
@endphp @endphp
</td> </td>
<td> {{ $direction->code }} </td> <td> {{ $el['code'] }} </td>
<td> {{ $direction->educationLevel->name }} </td> <td> {{ $el['educationLevel'] }} </td>
<td> {{ $direction->educationForm->name }} </td> <td> <?php foreach($el['educationForm'] as $form) { echo $form . '<br>'; } ?> </td>
</tr> </tr>
@endforeach @endforeach
@endforeach @endforeach