Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 1081 Просмотров
*

baskethome

  • Захожу иногда
  • 110
  • 0 / 0
Не выводит инфо в модуле
« : 22.01.2015, 12:40:30 »
Народ, спасайте. Есть 1 таблица компонента с полями city и pokaz. Где city это множественный селект, где значения поле, например, 1 или 1,2. (Неправильно в 1 табл, знаю, но переписывать компонент времени нет) и поле pokaz оно может быть либо, например, segodnya или zavtra. Это из-за того, что товар может быть в разных городах и может быть сегодня или завтра, грубо говоря.
Запрос на простом php паолучается  $result=mysql_query('SELECT * FROM `skb01_cin_films` WHERE city REGEXP "(^|[[:space:][:punct:]])1([[:space:][:punct:]]|$)" AND pokaz=1');


 Попробовал написать модуль с полями. Сделал 2 поля cityfilm текстовое и pokazfilm список с 2 значениями.  Но ничего не выводит.

файл XML
Код

<files>
<filename>mod_films.xml</filename>
<filename module="mod_films">mod_films.php</filename>
<filename>helper.php</filename>
<filename>index.html</filename>
<folder>tmpl</folder>
<folder>assets</folder>
<folder>language</folder>
</files>
<languages folder="language">
<language tag="ru-RU">ru-RU.mod_films.ini</language>
<language tag="ru-RU">ru-RU.mod_films.sys.ini</language>
</languages>

<config>
<fields name="params">
<fieldset name="basic">
<field name="cityfilm" type="text" default="" label="MOD_FILMS_FIELD_CITY_LABEL" description="MOD_FILMS_FIELD_CITY_DESC" filter="raw" />
<field name="pokazfilm" type="list" label="MOD_FILMS_FIELD_POKAZ_LABEL" description="MOD_FILMS_FIELD_POKAZ_DESC">
<option value="nowfi">MOD_FILMS_FIELD_POKAZ_TODAY</option>
<option value="soonfi">MOD_FILMS_FIELD_POKAZ_SOON</option>
</field>
</fieldset>
<fieldset
name="advanced">
<field
name="layout"
type="modulelayout"
label="JFIELD_ALT_LAYOUT_LABEL"
description="JFIELD_ALT_MODULE_LAYOUT_DESC" />

<field
name="moduleclass_sfx"
type="textarea" rows="3"
label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />

<field
name="cache"
type="list"
default="1"
label="COM_MODULES_FIELD_CACHING_LABEL"
description="COM_MODULES_FIELD_CACHING_DESC">
<option
value="1">JGLOBAL_USE_GLOBAL</option>
<option
value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
</field>
<field
name="cache_time"
type="text"
default="900"
label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
description="COM_MODULES_FIELD_CACHE_TIME_DESC" />
<field
name="cachemode"
type="hidden"
default="static">
<option
value="static"></option>
</field>
</fieldset>
</fields>
</config>
</extension>

файл default
Код
<?php

defined('_JEXEC') or die;
?>


<?php if (!empty($name)) : ?>
<ul class="films><?php echo $moduleclass_sfx ?>">
<?php foreach ($names as $name) : ?>
<li>
<?php echo $name->name; ?>
</li>
<?php endforeach;  ?>
</ul>
<?php endif; ?>

файл helper

Код
<?php

defined('_JEXEC') or die;

class ModFilmsHelper
{

public static function getFilms($params)
{
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select('*')
->order('id DESC')
->from('#__cin_films')
->where('city REGEXP "(^|[[:space:][:punct:]])$cityfilm([[:space:][:punct:]]|$)" AND pokaz=$pokazfilm');
$films = JFactory::getFilms();


$db->setQuery($query, 0, $params->get('cityfilm'));
$db->setQuery($query, 0, $params->get('pokazfilm'));
$result = $db->loadObjectList();



return (array) $result;
}

}

файл модуль php
Код
<?php

defined('_JEXEC') or die;

require_once __DIR__ . '/helper.php';

$cityfilm = $params->get('cityfilm');
$pokazfilm = $params->get('pokazfilm');
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));

require JModuleHelper::getLayoutPath('mod_films', $params->get('layout', 'default'));

*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Re: Не выводит инфо в модуле
« Ответ #1 : 22.01.2015, 13:40:46 »
1. не тот раздел
2. Откуда в default появится $names? сама образуется? :)
видимо нужно сделать как-то так
Код
require_once __DIR__ . '/helper.php';
$names = ModFilmsHelper::getFilms($params);
3.
Цитировать
<?php if (!empty($name)) : ?>
WTF?
4. сделать в helper
Код
var_dump($result)
и посмотреть что там вообще что-то есть с таким "чудо" запросом
5.
Цитировать
      $db->setQuery($query, 0, $params->get('cityfilm'));
      $db->setQuery($query, 0, $params->get('pokazfilm'))
WTF?
« Последнее редактирование: 22.01.2015, 13:44:46 от SmokerMan »
*

baskethome

  • Захожу иногда
  • 110
  • 0 / 0
Re: Не выводит инфо в модуле
« Ответ #2 : 22.01.2015, 14:05:58 »
не очень понял, куда var_dump($result) вставлять, но ничего не выводит
как-то раз вывел такую ошибку Unknown column '$pokazfilm' in 'where clause' SQL=SELECT * FROM skb01_cin_films WHERE city REGEXP "(^|[[:space:][:punct:]])$cityfilm([[:space:][:punct:]]|$)" AND pokaz=$pokazfilm ORDER BY id DESC LIMIT 0, 1
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Подключение сторонних библиотек в модуле J4

Автор denism300

Ответов: 6
Просмотров: 366
Последний ответ 30.12.2022, 19:58:09
от denism300
Рекурсия в модуле

Автор alpha_ru

Ответов: 19
Просмотров: 1419
Последний ответ 20.07.2017, 19:25:11
от passer
Дополнительное поле в модуле

Автор paskal

Ответов: 21
Просмотров: 2263
Последний ответ 27.08.2016, 00:59:55
от robert
Запись в БД из формы в плагине (модуле). Как!

Автор Sergeyy

Ответов: 13
Просмотров: 1282
Последний ответ 13.11.2015, 11:01:18
от Sergeyy
Ошибка 1005 при sql-запросах в своем модуле

Автор dv-cto

Ответов: 2
Просмотров: 1230
Последний ответ 07.02.2015, 21:30:50
от dv-cto