EN
sinitsyn-alex
sinitsyn-alex
7 августа 2017

Существует страница 'index' и блок 'post' c модификатором 'type' => 'one':

// index.bemjson.js
module.exports = {
    block: 'page',
    content: {
        block: 'post',
        mods: { type: 'one' },
        content: {
            ...
        }
    }

В папке desktop.blocks/post/ лежат файлы:
post.bemhtml.js,
post.bemjson.js,
post.bh.php
...

В папке desktop.blocks/post/_type/ лежат файлы:
post_type_one.bemhtml.js,
post_type_one.bemjson.js,
post_type_one.bh.php
...

При сборке проекта в бандле страницы появляется файл index.bh.php.
Код:

// index.bh.php
// file: ../../desktop.blocks/post/post.bh.php
    $bh->match('post',function ($ctx) {
    ....

А необходимо, чтобы 'брался' шаблон desktop.blocks/post/_type/post_type_one.bh.php.
Как enb-bh-php сообщить об этом?

tadatuta
#tadatuta
7 августа 2017

При описанной структуре будет использовать как post.bh.php, так и post_type_one. Но благодаря тому, что post_type_one окажется ниже в результатах сборки, у него будет приоритет, так что из этого шаблона можно переопределить поведение базового.

Если шаблон в принципе не попадает в сборку, возможно, поможет добавление нужного модификатора в deps.js-файл (см. https://ru.bem.info/platform/deps/).