0

いらっしゃいませ。

Yiiフレームワーク自体がログオフするためのリンクを生成し、それを各要素(span、div、liなど)のビューの本体に配置するため、奇妙な状況になります。この問題により、ビューの本体をクリックするたびに取得します。ログオフした

ビューを生成するには、$ this-> render();を使用しました。

結果として、DOMは次のようになります。

<section class="top-line">
    <div class="right">
         <a href="/workflow/?r=user/logout"> </a>
    </div>
    <a href="/workflow/?r=user/logout"> </a>
</section>
<a href="/workflow/?r=user/logout">
  <div class="main-box">...</div>
</a>

<footer>
<a href="/workflow/?r=user/logout"> </a>
<div class="container">..</div>
</footer>

@DarkMukkeレイアウト/main.phpを含める:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="language" content="en" />
    <link rel="shortcut icon" href="<?php echo Yii::app()->request->baseUrl; ?>/favicon.ico" type="image/x-icon" />
    <!-- blueprint CSS framework -->
    <link rel="stylesheet" type="text/css" href="<?php echo baseUrl(); ?>/css/screen.css" media="screen, projection" />
    <link rel="stylesheet" type="text/css" href="<?php echo baseUrl(); ?>/css/print.css" media="print" />
    <!--[if lt IE 8]>
    <link rel="stylesheet" type="text/css" href="<?php echo baseUrl(); ?>/css/ie.css" media="screen, projection" />
    <![endif]-->
    <link rel="stylesheet" type="text/css" href="<?php echo baseUrl(); ?>/css/form.css" />
    <link rel="stylesheet" type="text/css" href="<?php echo baseUrl(); ?>/css/blue/style.css" />

    <?php
    $cs = cs();
    $cssCoreUrl = $cs->getCoreScriptUrl();
    $cs->registerCssFile($cssCoreUrl . '/jui1.9.2/css/base/jquery-ui.css');
    $cs->registerCoreScript('jquery');
    $cs->registerCoreScript('jquery.ui');
    $cs->registerCoreScript('cookie');
    $cs->registerScriptFile('js/block.js');
    $cs->registerScriptFile('js/global.js');
    $cs->registerScriptFile('css/blue/style.js');
    ?>

    <title><?php echo CHtml::encode($this->pageTitle); ?></title>
</head>
<body>

    <header class="top">
        <div class="container">
            <div class="logo">
                <h1><a href="<?php echo Yii::app()->baseUrl; ?>" ><?php echo CHtml::encode(Yii::app()->name); ?></a></h1>
            </div>
            <nav>
                <?php $this->widget('Menu'); ?>
            </nav>
        </div>
    </header>

    <section class="top-line">
        <div class="container">
            <?php if (isset($this->breadcrumbs)): ?>
                <div class="left">
                    <?php
                    $this->widget('zii.widgets.CBreadcrumbs', array(
                        'links' => $this->breadcrumbs,
                    ));
                    ?>
                </div>
            <?php endif ?>
            <?php if (Yii::app()->user->isGuest == false): ?>
                <div class="right">
                    <a href="<?php echo url('/user/logout'); ?>"><?php echo t('Logout') . ' (' . Yii::app()->user->name . ')'; ?>
                </div>
            <?php endif; ?>
        </div>
    </section>

    <div class="main-box">
         <div class="container clear">
                <div class="clear cenetr">
                    <?php
                    foreach (Yii::app()->user->getFlashes() as $key => $message) {
                        echo '<div class="flash-' . $key . '">' . $message . " <span class=\"close-flush-btn\"></span></div>\n";
                    }
                    ?>
                </div>
        </div>
        <div class="wrapper">
            <?php echo $content; ?>
        </div>
    </div>
    <footer>
        <div class="container">
            <div class="wrapper">
                <div class="fleft"><?php echo Yii::app()->params['copyrightInfo']; ?></div>
                <div class="fright"><?php echo Yii::powered(); ?></div>
            </div>
        </div>
    </footer>
</body>

誰かがこの問題を抱えていましたか?これは、そのような行為の結果である可能性があります。

[解決済み]私の愚かな間違い。ログアウトリンクでタグを閉じないでください。クリックするたびに本体が反応します。なんて残念なことでしょう..ご関心をお寄せいただきありがとうございます。

4

2 に答える 2

0

タグ内にメインボックスがあります

これを最後の3行として使用してください。そうしないと、メインボックスをクリックするたびに要素がトリガーされません

<a href="/workflow/?r=user/logout"> </a>
<div class="main-box">
</div>
于 2013-01-11T10:35:11.297 に答える
0

ログインしていないユーザーが利用できるコンテンツを使用するには、

if (Yii::app()->user->isGuest){
echo 'your content';
}

ログインユーザー向けコンテンツ

if (!Yii::app()->user->isGuest){
echo 'your content';
}

それがうまくいくなら、今私にさせてください。そうでない場合は、 UserIdentity クラスに何か問題があります

于 2013-01-11T13:28:25.117 に答える