#twitter-bootstrap #yii #twitter-bootstrap-3
#twitter-bootstrap #yii #twitter-bootstrap-3
Вопрос:
Я пытаюсь использовать всплывающую подсказку Twitter bootstrap в приложении Yii, но, похоже, она не работает. Ошибка возврата консоли Firebug TypeError: $(...).tooltip is not a function
. Как вы можете видеть в коде, bootstrap.js файл включен в комплект поставки. Но эта функция не может быть найдена, может быть, что-то переопределяет ее? Мой main.php
код макета по умолчанию:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="en" />
<!-- blueprint CSS framework -->
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/screen.css" media="screen, projection" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/print.css" media="print" />
<!--[if lt IE 8]>
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/ie.css" media="screen, projection" />
<![endif]-->
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/main.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/form.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/custom.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/bootstrap/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/custom_bootstrap.css" />
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/bootstrap.min.js"></script>
<script type="text/javascript">
jQuery(function() {
$("a[data-toggle='tooltip']").tooltip();
});
</script>
<title><?php echo CHtml::encode($this->pageTitle); ?></title>
</head>
// body code fragment in the same layout file------------------------------
<?php
$this->widget('zii.widgets.CMenu', array(
'items' => array(
array(
'url' => array('/site/login'),
'visible' => Yii::app()->user->isGuest,
'linkOptions' => array('class' => 'btn btn-default navbar-btn tooltip_element',
'data-toggle' => 'tooltip',
'title' => 'login',
'data-placement' => 'bottom')),
),
'linkLabelWrapper' => 'span',
'linkLabelWrapperHtmlOptions' => array('class' => 'glyphicon glyphicon-log-in'),
'htmlOptions' => array('class' => 'nav navbar-nav',
),
));
?>
Комментарии:
1. Ваш bootstrap.min.js построен с помощью всплывающей подсказки? Браузер находит файл или 404ing? Можете ли вы опубликовать нерабочий пример?
2. Я понял, как заставить это работать, добавил этот код вместо простого
<link>...</link>
включения:<?php $baseUrl = Yii::app()->request->baseUrl; $cd = Yii::app()->getClientScript(); $cd->registerScriptFile($baseUrl . '/js/bootstrap.min.js'); ?>
Ответ №1:
Я понял, как заставить это работать, добавил этот код.
Вместо этого это:
<link>...</link>
Заменить:
<?php
$baseUrl = Yii::app()->request->baseUrl;
$cd = Yii::app()->getClientScript();
$cd->registerScriptFile($baseUrl . '/js/bootstrap.min.js');
?>