Функция в контроллере WordPress Sage 9 не поддерживается в шаблоне - PullRequest
0 голосов
/ 24 января 2019

Я использую Sage 9 для создания темы WordPress.

Я определил контроллер для подбора некоторых расширенных настраиваемых полей в WP-интерфейсе.

Это контроллер:

<?php

    namespace App;

    use Sober\Controller\Controller;

    class Header extends Controller
    {
        public function backgroundLeftTop()
        {
            return get_field('front-page__background-left-top');
        }

        public function backgroundLeftBottom()
        {
            return get_field('front-page__background-left-bottom');
        }

        public function backgroundMiddle()
        {
            return get_field('front-page__background-middle');
        }

        public function backgroundRight()
        {
            return get_field('front-page__background-right');
        }
    }

Когда я пытаюсь вызвать функцию backgroundLeftTop в моем шаблоне:

<!-- header -->

<header>
    <div class="container">
        <div class="row">
            <div class="col-md-5" id="header-kolom-1">
                <div class="col-md-12">
                    <img src="{!! $backgroundLeftTop['url'] !!}" alt="{!! $backgroundLeftTop['alt]'] !!}" />
                </div>
                <div class="col-md-12">
{{--                    <img src="{{ backgroundLeftBottom['url'] }}" alt="{{ backgroundLeftBottom['alt'] }}" />--}}
                </div>
            </div>
            <div class="col-md-7" id="header-kolom-2">
                <div class="row">
                    <div class="col-md-6" id="doggy">
{{--                        <img src="{{ backgroundMiddle['url'] }}" alt="{{ backgroundMiddle['alt'] }}" />--}}
                    </div>
                    <div class="col-md-6" id="ux-designers">
                        {{--<img src="{{ backgroundRight['url'] }}" alt="{{ backgroundRight['alt'] }}" />--}}
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-12">
                        <div class="container" id="cyan-block">
                            <h1 id="zeo-title">@php(get_field('front-page__title'))</h1>
                            <div id="zeo-description">@php(get_field('front-page__slogan'))</div>
                        </div>
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-12">
                        <div class="col-md-9">
                            <div class="container" id="ons-werk-block">
                                <div class="zeo-cases-button">
                                    <a href="@php(get_field('front-page__button--url'))" class="button">@php(get_field('front-page__button--text'))</a>
                                </div>
                            </div>
                        </div>
                        <div class="col-md-3">
                            <div class="container" id="ons-werk-block-right">

                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</header>
<!-- /header -->

Я получаю следующую ошибку:

Неопределенная переменная: backgroundLeftTop в C: \ laragon \ sites \ zeo-9 \ web \ app \ uploads \ cache \ 4a93936764256d7ec3668bc0593c81e3965147c8.php в строке 8

Что я делаю не так?Спасибо!

1 Ответ

0 голосов
/ 25 января 2019

Если это ваша функция в контроллере:

public function backgroundLeftTop()
{
    return get_field('front-page__background-left-top');
}

Тогда вы должны использовать контроллер в своем шаблоне следующим образом:

<img src="{!! $background_left_top['url'] !!}" alt="{!! $background_left_top['alt]'] !!}" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...