【问题标题】:Dynamic page Titles动态页面标题
【发布时间】:2010-10-12 08:16:09
【问题描述】:

我有这个页面标题类:

class UI {

    private static $title;

    public static function getTitle() { return self::$title; }
    public static function setTitle($value) { self::$title = $value; }
    }

所以在我的首页我简单地声明:

UI::setTitle('Kiubbo.com :: Todas las Noticias, Fotos y Videos');

并且工作正常。问题是让 cmets 页面标题根据内容(链接标题)进行更改。我想和这个变量一样(它具有相同的名称,但它对于另一个函数它的 getTitle 不同):

<?php echo $article->getTitle(); ?>

在这个函数中:

function showAllComments($article_id, $param)
    {

        $article = Article::getById($article_id);

        if(!empty($article))
        {
            ?>
            <div class="news_item">
                <h2 class="news_item_title"><b><a href = "<?php echo $article->getUrl(); ?>"><?php echo $article->getTitle(); ?></a></b></h2>              

            </div>

如果有人能帮助我,我将不胜感激。

谢谢

【问题讨论】:

    标签: php mysql html


    【解决方案1】:

    我不确定我是否完全理解您想要做什么。如果您希望每个对象都有一个单独的标题,那么您需要使标题变量非静态(以及函数非静态)。静态变量/函数每个类只有一个实例。

    【讨论】:

      【解决方案2】:

      将“$article->getTitle()”更改为“UI::getTitle()”,它应该可以工作,但我认为这不是你真正想要做的,不是吗?

      【讨论】:

        【解决方案3】:

        showAllComments()也许你可以这样做

        UI::setTitle($article->getTitle());
        

        【讨论】:

        • 我试过了,但是不行。可能标头是在 showAllComments 函数之前构建的。
        • 是的,这是有道理的。也许 showAllComments() 可以采用 Article 的实例而不是 article_id ,然后您可以在函数外部并在输出任何 HTML 之前获取它
        猜你喜欢
        • 2014-02-19
        • 1970-01-01
        • 2023-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-06
        • 2019-09-05
        • 2020-03-13
        相关资源
        最近更新 更多