在Bolt CMS中修改内容记录

时间:2019-03-25 14:44:51

标签: bolt-cms

我在Bolt安装中添加了“产品”内容类型。我想在购买时跟踪和更新库存,因此我添加了一个“可用”整数字段。我设置了一个测试控制器来修改记录。一切似乎正常,但更新从未发生。我想念什么?

<?php
namespace Bundle\Site;
class CartController extends \Bolt\Controller\Base
{
    public function addRoutes(\Silex\ControllerCollection $c)
    {
        $c->match('/test-save', [$this,'testSave']);
        return $c;
    }
    public function testSave()
    {
        $result=false;
        $repo = $this->app['storage']->getRepository('products');
        $content = $repo->find(1);
        //Error log output confirms that this is the correct record
        error_log(get_class($this).'::'.__FUNCTION__.': '.json_encode($content));
        $content->set('available',15);
        $content->setDatechanged('now');
        $result=$repo->save($content); //returns 1
        return new \Symfony\Component\HttpFoundation\Response(json_encode($result), \Symfony\Component\HttpFoundation\Response::HTTP_OK);
    }
}

2 个答案:

答案 0 :(得分:0)

原来,我的代码有效。我正在通过重新加载后端编辑表单来检查结果,该表单显然已经缓存了其数据,因此我看不到值发生了变化。

如果我在两个浏览器选项卡中加载编辑表单并更新其中一个,然后刷新另一个,则会发生同样的事情,所以看来这是我所能做的最好的事情。

答案 1 :(得分:0)

我也遇到过类似的问题。更新的代码未显示或输出的结果不变。推测这是由于在config.yml文件中设置lowercased而发生的。当debug为true时,您在bolt-data / app /中的所有高速缓存文件都会增加,但是会被排序。 在生产中,建议保留func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) { if searchText.isEmpty { searching = false searchCity.removeAll() } else { searching = true searchCity = cityArray.flatMap({ $0 }) .filter{ $0.range(of: searchText, options: .caseInsensitive) != nil } } reloadData() } ,但此问题也可以签入,因此,在不进行太多更改的情况下,处理它的方法将是最简单的方法。