11 个月前

使用twig全局变量获取系统设置

摘要:TEEBB在前台页面的twig模板中添加了teebb_core全局对象,这个对象可以获取全局系统设置,可将获取到的设置信息存入缓存。 参考代码: // \Teebb\CoreBundle\Twig\GlobalVariables /** * 使用此方法获取T...

TEEBB在前台页面的twig模板中添加了teebb_core全局对象,这个对象可以获取全局系统设置,可将获取到的设置信息存入缓存。

参考代码:

// \Teebb\CoreBundle\Twig\GlobalVariables
/**
 * 使用此方法获取TEEBB的设置值
 * @param string $optionName
 * @return mixed
 * @throws InvalidArgumentException
 */
public function getOptionValue(string $optionName)
{
    if (!$this->hasCache($optionName)) {
        $optionRepo = $this->entityManager->getRepository(Option::class);
        $option = $optionRepo->findOneBy(['optionName' => $optionName]);

        return $this->getCache($optionName, $option->getOptionValue());
    }
    return $this->getCache($optionName);
}

 

TEEBB使用\Teebb\CoreBundle\Entity\Option类对一些设置参数进行管理。

默认对左图的“系统设置”使用\Teebb\CoreBundle\Entity\Options\System类进行管理,并将此类以key-value的形式存储,key值为:system

 

 

 

 


参考如下代码:

{% set system = teebb_core.optionValue('system') %}

可获取system值,并在取值时进行了缓存。参看上文getOptionValue方法。

更多文章

前台页面搜索框区块(Block)

2020-12-29

参考:TEEBB.com动态列表页面右侧搜索框  ,该框使用了搜索框区块(Block)  

某分类下的内容列表区块(Block)

2020-12-29

如果您的内容类型引用了分类字段,想要单独显示某分类的内容列表,使用如下区块(block): {{ sonata_block_render({type:'teebb.core.block.contents_in_taxonomy'}, { taxonomy_sl...

内容列表区块(Block)

2020-12-29

TEEBB使用了SonataBlockBundle,内置了一些展示列表的block_type。我们使用如下代码可获取“文章”类型的内容列表: {{ sonata_block_render({type:'teebb.core.block.conte...

联系我们