Переопределить шаблон жидкости из другого расширения - PullRequest
0 голосов
/ 24 мая 2018

Я работаю над веб-страницей TYPO3 для журнала.Поэтому я использую расширение "news" или "tx_news".

Все отлично работает, за исключением того, что я запутался, как и где переопределить заданные шаблоны жидкости из расширения новостей.Для веб-страницы я использую собственное расширение для хранения всех внутренних макетов и шаблонов флюидов, я хотел бы включить собственную флюид-шаблон для новостей, а также внутри своего расширения, чтобы изменения, которые я делаю, не были отменены, когда яобновите расширение новостей, конечно.

Я попытался просто скопировать вставленные шаблоны новостей из новостей в мое расширение, надеясь, что они будут переопределены, поскольку мое расширение имеет самый высокий приоритет в бэкэнде.Также в документации я обнаружил, что мне нужно добавить следующие строки в мою настройку TS:

plugin.tx_news {
        view {
                templateRootPaths >
                templateRootPaths {
                        0 = EXT:news/Resources/Private/Templates/
                        1 = fileadmin/templates/ext/news/Templates/
                }
                partialRootPaths >
                partialRootPaths {
                        0 = EXT:news/Resources/Private/Partials/
                        1 = fileadmin/templates/ext/news/Partials/
                }
                layoutRootPaths >
                layoutRootPaths {
                        0 = EXT:news/Resources/Private/Layouts/
                        1 = fileadmin/templates/ext/news/Layouts/
                }
        }
}

Я добавил эти строки внизу в файле setup.txt моего собственного расширения.с настроенными путями, конечно, и это тоже не сработало.

Я ценю всю помощь.

Ответы [ 3 ]

0 голосов
/ 25 мая 2018

Вы пропустили объявление путей к вашей версии шаблонов.

у вас есть два способа:

  1. использовать константы ext: news предоставляет вам и вставляет автоматическив настройках TS

  2. добавьте несколько строк непосредственно в конфигурацию плагина.

Поскольку вы используете расширение страницы для всех настроек, вы избегаетеРедактор констант TS или используйте его только для идентификации имен констант.

// Path constants from ext:news:
plugin.tx_news {
    view {
        layoutRootPath   = EXT:yourextension/Resources/Private/News/Layouts/
        partialRootPath  = EXT:yourextension/Resources/Private/News/Partials/
        templateRootPath = EXT:yourextension/Resources/Private/News/Templates/
    }
}

В любом случае вы должны получить TS, подобный этому (проверьте TSOB):

plugin.tx_news {
    view {
        templateRootPaths {
            0 = EXT:news/Resources/Private/Templates/
            1 = EXT:yourextension/Resources/Private/News/Templates/
        }
        partialRootPaths {
            0 = EXT:news/Resources/Private/Partials/
            1 = EXT:yourextension/Resources/Private/News/Partials/
        }
        layoutRootPaths {
            0 = EXT:news/Resources/Private/Layouts/
            1 = EXT:yourextension/Resources/Private/News/Layouts/
        }
    }
}

Есливы используете метод 2, вы можете использовать более высокие значения, чтобы придать вашим шаблонам более высокий приоритет - в случае, если активны несколько расширений и замен шаблонов.

Это настраивает пути для макетов, партиалов и шаблонов, которые вы переопределяете:

Resources
  +- Private
      +- News
          +- Layouts
          +- Partials
          +- Templates

в вашем добавочном номере.

Не используйте TS из вашего вопроса (даже если оно исходит из оригинального руководства.)
Удаляет предопределенные пути,(Строки 3,8,13).Это может произойти сбой после обновления, где изменились внутренние пути.

0 голосов
/ 25 мая 2018

Поместите это в свои константы:

plugin.tx_news {
  view {
    templateRootPath = fileadmin/templates/ext/news/Templates/
    partialRootPath = fileadmin/templates/ext/news/Partials/
    layoutRootPath = fileadmin/templates/ext/news/Layouts/
  }
}

или это в настройках:

plugin.tx_news {
   view {
    templateRootPaths = fileadmin/templates/ext/news/Templates/
    partialRootPaths = fileadmin/templates/ext/news/Partials/
    layoutRootPaths = fileadmin/templates/ext/news/Layouts/
  }
}

Затем скопируйте необходимые новостные ресурсы в папки, к которым они принадлежат, и попробуйтеотредактируйте {newsItem.title} как {newsItem.title} ahha в частичном шаблоне.Если вы видите свой заголовок во внешнем интерфейсе с ahha после него, это означает, что теперь вы можете редактировать свой шаблон текучей среды так, как вы хотите.

С наилучшими пожеланиями

0 голосов
/ 24 мая 2018
  • Скопируйте только шаблоны из EXT: новости в вашем расширении, которые вы хотите изменить.Ваш пример TypoScript работает как запасной вариант, а шаблоны, пропущенные в 1, ищутся в 0.

  • Перезаписать только тот TypoScript, который вы хотите изменить.

  • Тогдаиспользуйте браузер объектов TypoScript и проверьте настройки TypoScript для plugin.tx_news.view ...

  • Если вы не видите правильные пути, порядок загрузки TypoScript должен быть изменен.

...