0

在 Joomla 组件 com_search 中,我修改了以下行:

<?php if ($this->params->get('show_date')) echo JText::sprintf('Published %s', $result->created).'. '; ?>

至:

<?php if ($this->params->get('show_date')) echo '<span>'.JText::_('PUBLISHED').':     '.'</span>'.JText::sprintf('%s', JHtml::_('date',$result->created, JText::_('d. m. Y, H:i'))); ?>

搜索时出现错误 500:

DateTime::__construct(): Failed to parse time string (19. 06. 2012) at position 0 (1): Unexpected character

哪里有问题?

来自 com_search (default_results.php) 的完整代码以便更好地理解:

<div class="items">

<?php foreach ($this->results as $result) : ?>
<article class="item">

    <header>

        <?php if ( $result->href ) : ?>
        <h1 class="title"><a href="<?php echo JRoute::_($result->href); ?>" <?php if ($result->browsernav == 1 ) echo 'target="_blank"'; ?>><?php  echo $this->escape($result->title); ?></a></h1>
        <?php else : ?>
        <h1 class="title"><?php echo $this->escape($result->title); ?></h1>
        <?php endif; ?>

        <?php if ($result->section || $this->params->get('show_date')) : ?>
        <p class="meta">

            <?php if ($this->params->get('show_date')) echo '<span>'.JText::_('PUBLISHED').': '.'</span>'.JText::sprintf('%s', JHtml::_('date',$result->created, JText::_('d. m. Y, H:i'))); ?>
            <?php if ($result->section) echo JText::_('TPL_WARP_POSTED_IN').' '.$this->escape($result->section); ?>
        </p>
        <?php endif; ?>

    </header>

    <div class="content clearfix"><?php echo $result->text; ?></div>

</article>
<?php endforeach; ?>

</div>
<?php echo $this->pagination->getPagesLinks(); ?>
4

4 回答 4

0

DateTime::__construct():无法在位置 0 (1) 解析时间字符串 (19. 06. 2012):意外字符

19. 06. 2012不是 PHP 的DateTime类接受的日期格式,请参阅 PHP 手册页“日期格式”了解可以理解的格式列表。

于 2012-08-11T18:30:29.790 回答
-1

在 Joomla 中,当尝试安装任何类型的扩展时也会发生此错误,但 PHP 代码无法写入 temp 和 logs 目录。

如果进入系统、系统信息和目录权限,都应该是可写的。可以在 configuration.php 或使用 Global Configuration 菜单和 System and Server 选项卡更改 temp 和 logs 目录的路径。

于 2013-05-25T16:32:15.253 回答
-1

我刚刚将您的新行复制并粘贴到 Joomla 2.5.6 的本地托管副本中,它工作得非常好 - 完全没有错误!

于 2012-08-11T18:24:34.613 回答
-1

在谷歌上花了四个小时解决这个问题后,结果发现我的原因是不可写/logs/tmp文件夹。

要进行验证,请执行以下步骤:

  1. 加载以下 URL(替换您自己的域和主机名):
    http://www.example.com/administrator/index.php?option=com_admin&view=sysinfo
  2. 导航到“所有者权利”
  3. 检查是否logstmp
  4. 如果没有,您应该在您的configuration.php文件中更改这些文件的路径。

这是来自Joomla 论坛主题的相关引用,它帮助我得出了这个结论:

您好,我最近遇到了同样的问题,但找到了窍门!

日志目录 ($log_path) ./logs/ 不可写
临时目录 ($tmp_path) ./tmp/ 不可写

正确的目录路径必须是:
日志目录 ($log_path) ../logs/
日志目录 ($log_path) ../tmp/

于 2015-05-29T16:31:24.463 回答