1

我在我全新的 Yii 项目中使用Yii-Bootstrap 。我完全按照安装说明进行操作。

在首页我使用的是 JS Carousel 插件。

$this->widget('bootstrap.widgets.TbCarousel', array(
    'items'=>array(
        array(
            'image'=>'http://placehold.it/770x400&text=First+thumbnail',
            'label'=>'asdf',
            'caption'=>'Cras justo odio, '
        ),
        array(
            'image'=>'http://placehold.it/770x400&text=Second+thumbnail',
            'label'=>'asdf',
            'caption'=>'Cras justo odio, '
        ),
        array(
            'image'=>'http://placehold.it/770x400&text=Third+thumbnail',
            'label'=>'asdf',
            'caption'=>'Cras justo odio, '
        ),
    ),
));

Uncaught TypeError: Object [object Object] has no method 'carousel'

这会导致.carousel()未找到错误。就像没有注册JS文件一样。CSS 和一切看起来都很好。

我正在使用 yii-environment 扩展..

return array(

    // Set yiiPath (relative to Environment.php)
    'yiiPath' => dirname(__FILE__) . '/../../../yii-1.1.13/framework/yii.php',
    'yiicPath' => dirname(__FILE__) . '/../../../yii-1.1.13/framework/yiic.php',
    'yiitPath' => dirname(__FILE__) . '/../../../yii-1.1.13/framework/yiit.php',

    // Static function Yii::setPathOfAlias()
    'yiiSetPathOfAlias' => array(
        // uncomment the following to define a path alias
        'bootstrap' => realpath(dirname(__FILE__).'/../extensions/bootstrap')
    ),

    // This is the main Web application configuration. Any writable
    // CWebApplication properties can be configured here.
    'configWeb' => array(

        'basePath' => dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
            'theme' => 'bootstrap',

        // Preloading 'log' component
        'preload' => array('log'),

        // Autoloading model and component classes
        'import' => array(
            'application.models.*',
            'application.components.*',
        ),

        // Application components
        'components' => array(
            'bootstrap'=>array(
                'class'=>'bootstrap.components.Bootstrap',
            ),

有什么建议么?

4

2 回答 2

4

您必须专门注册 css 和 js:

Yii::app()->bootstrap->register();

这与在旧版本的扩展中完成的方式不同。我不知道为什么在任何地方的文档中都没有提到这一点。

将上述代码行放在布局中的好地方,如果您的整个站点/应用程序使用 yii-bootstrap,或者如果您只在特定视图中执行,您可以将其放在这些视图中。

PS - 您可以在bootstrap/components/Bootstrap.php文件中找到该函数。

于 2013-02-28T06:21:11.283 回答
-1
<?php Yii::app()->bootstrap->registerAllCss(); ?>

<?php Yii::app()->bootstrap->registerCoreScripts(); ?>
<?php Yii::app()->clientScript->registerCssFile(Yii::app()->request->baseUrl.'/css/styles.css'); ?>
于 2016-02-10T12:45:44.657 回答