Привет, я пытаюсь превратить новостной выпуск статьи в список ссылок в таблице.
Я удаляю вводный текст, комментируя его так, чтобы он показывал только заголовок статьи и изменял файлы tmpl.
Это php-файл, называемый ссылками. Я продублировал vertical.php из modules / mod_article_news, а затем вместо этого разместил эту информацию.
<?php
/**
* @package Joomla.Site
* @subpackage mod_articles_news
* @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
// no direct access
defined('_JEXEC') or die;
echo '<div class="newsflash-vert">';
for ($i = 0, $n = count($list); $i < $n; $i ++) {
$item = $list[$i];
if ($i==0){
echo "<table>";
}
if ($i & 1){
//odd
}else{
//even
echo "<tr>";
}
echo "<td>";
echo '<div class="newsflash-item">';
require JModuleHelper::getLayoutPath('mod_articles_news', '_item_links');
if ($n > 1 && (($i < $n - 1) || $params->get('showLastSeparator'))) {
echo '<span class="article-separator"> </span>';
}
echo '</div>';
echo "</td>";
if ($i & 1){
//odd
}else{
if ($i == $n){
echo "</tr>";
}
}
if ($i == $n){
//end
echo "</table>";
}
}
echo "</div>";
Проверьте ваш код и убедитесь, что ваши переменные, которые вы пытаетесь отобразить, действительно имеют значение. Я уверен, что он кричит на вас, например, если вы пытаетесь позвонить $item->title
но $item
само по себе не имеет значения, переданного в него. Поэтому говорится, что вы пытаетесь получить заголовок, но объект $ item не существует или является чем-то другим, чем объект.
Я бы сделал это, прежде чем идти в $item
объект:
if ($item) {
echo $item->title;
echo $item->value2;
}
или если к некоторым значениям вашего объекта иногда не прилагается значение, проверьте фактическое значение перед выводом
$itme->value1 ? $item->value1 : "";
надеюсь, это поможет
В коде есть несколько проблем. Первая и главная проблема заключается в том, что я пытаюсь завершить таблицу, используя условие, если $ i == $ n. но оператор for только зацикливается, пока $ i < $ n, поэтому у меня должно быть условие завершения таблицы: $ i == $ n -1;
Также, что касается моего предыдущего кода, размещение isset работает так, что код не обрабатывается, если не установлен в нескольких разных областях. Я собираюсь разобраться в этом подробнее, так как раньше у меня не было этой проблемы, но пока она работает!