设置shopify应用程序

时间:2016-02-10 06:21:48

标签: shopify

我在heroku上为shopify商店建立了一个应用程序,这是我的index.php代码 我想在不同的URL上运行不同的文件,它使用\ based url ata那个时间index.twig文件运行但是当我做一些像这样的代码时

如果我们这样编码,那么它将运行index.twig但是

  $app->get('/', function() use($app) {
        $st = $app['pdo']->prepare('SELECT name FROM test_table');
        $st->execute();
    echo 'hi';
        $names = array();
        while ($row = $st->fetch(PDO::FETCH_ASSOC)) {
            $app['monolog   ']->addDebug('Row ' . $row['name']);
            $names[] = $row;
        }

        return $app['twig']->render('index.twig', array(
            'names' => $names
        ));
    });

但是当我们这样做时,会发出错误信息

$app->get('/db/', function() use($app) {
    $st = $app['pdo']->prepare('SELECT name FROM test_table');
    $st->execute();
echo 'hi';
    $names = array();
    while ($row = $st->fetch(PDO::FETCH_ASSOC)) {
        $app['monolog   ']->addDebug('Row ' . $row['name']);
        $names[] = $row;
    }

    return $app['twig']->render('database.twig', array(
        'names' => $names
    ));
});

它会给出错误 在此服务器上找不到请求的URL / db /。

而不是运行database.twig

请为此提供帮助

1 个答案:

答案 0 :(得分:0)

看起来它不在Shopify范围内。

您似乎使用一些框架来构建应用程序。 Silex可能吗? 当您请求http://yourdomain.com/db/时,它实际上会尝试查找此URL,但是没有这样的路径。这就是你得到404的原因。

许多现代框架都有一个前端控制器index.php,它决定了用于管理请求的其他控制器。实际上,所有请求都应该转到这个index.php脚本。

所以你必须拔出http://yourdomain.com/index.php/db/它应该可以解决。但它包含此脚本名称段,使URL看起来不整洁。您可以使用.htaccess删除它。如果我的假设是正确的并且您确实在使用Silex,请考虑这一点:http://silex.sensiolabs.org/doc/web_servers.html