Новости Joomla

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

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
подскажите пожалуйста, кто нибудь... Хочу вывести логин из текстового поля для других нужд... Использовал метод рост но не работает... на сайт заходит а вот то что мне нужно не выполняется...
...
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Где вывести? Как выводите сейчас?
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
возможно, так: echo JFactory::getUser()->username;
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Сори я чуть чуть затупил, вовремя не посмотрел... Мне надо модуль Формы входа, а не регистрация... Мне надо вывести текст из поля username в этом же модуле но только для других целей...
...
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
В модуле где именно вывести? в шаблоне модуля или в хелпере?
Вообще, какие именно цели преследуете? Модуль самописный или стандартный (какой именно?)?
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
В модуле где именно вывести? в шаблоне модуля или в хелпере?
Вообще, какие именно цели преследуете? Модуль самописный или стандартный (какой именно?)?
Суть полностью не расскажу... Но вот что мне надо от этого модуля....
Когда пользователь ввел логин и пароль нажимает на кнопку вход, сначала форма отправляет данные для входа на сайт, а потом сам логин который пользователь ввел никуда не выводиться на лицевую часть, мне надо что бы просто выполнить sql запрос что бы вывести некоторую инфу, пока пользователь входит на сайт... После этого просто перезагружается страница и ВСЕ...
...
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Хмм, данные формы передаются в хелпер, там производится вся обработка. Там же Вы можете выполнить свой запрос, а вот как при этом результаты запроса отобразить, на время авторизации? Вот тут несколько ньюансов: Весь процесс авторизации на сервере занимает доли секунд, остальное - отылка данных на сервер из формы и получение результата обратно во фронт. Если для данных, отображаемых во время процесса авторизации, требуется информация из базы, то это как минимум нецелесообразно: данные из базы будут получены во фронт вместе с ответом об успешой/неуспешной авторизацией пользователя, когда эти данные будут уже не нужны. А без этих данных поплавок можно вывести на js прямо из вьюхи модуля.
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Нуууу, вообще то мне не надо выводить состояние выполнения запроса. Если пользователь указал не верные данные, то мой код выполняться не будет... Мне надо всего лишь вывести текст из поля username  в строку запроса к Бд, и все... зачем заморачиваться...

А без этих данных поплавок можно вывести на js прямо из вьюхи модуля.
а вот это не совсем понял... Как это?
...
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
<?php
JHtml
::_('jquery.framework'); // for J3
$view_js '
jQuery(function($) {
  Splash = function() {
    $("#loading").css("display", "block");
    $("#adminForm").submit(); // form.submit with id="adminForm", method="get"
  };
});

jQuery(document).ready(function($)
{
  $(\'<div id="loading"></div>\').appendTo($(\'body\'));
});
'
;
$document->addScriptDeclaration($documc_js);
?>

в форме на кнопку вместо form.submit вешаем javascript:Splash()
изначально при загрузки вьюхи добавляем body <div id="loading"></div>, внутри дива может быть любое вложение, в стилях для дива должно быть изначально прописано display:none;
« Последнее редактирование: 08.06.2014, 14:32:04 от AlekVolsk »
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
че так как то срано... Выдает ошибку - JHtml: :jquery не поддерживается. Файл, не найден.
Я вставляю в самый верх страницы...
...
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
я тут подумал может в файле хелпер будет проще сделать?
...
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Кстати, на js также, получив по id поля его значения можно записать его в глобально объявленную переменную, и использовать в выводе внутри loading

че так как то срано... Выдает ошибку - JHtml: :jquery не поддерживается. Файл, не найден.
Я вставляю в самый верх страницы...
Так я же указал, что вызов  jquery указан для J3, где jquery поставляются штатно, для J2.5 подключаете свой jquery

я тут подумал может в файле хелпер будет проще сделать?
Хелпер изначально для этого не предназначен, http://joomlablog.ru/dokumentatsiya/dlya-razrabotchika/sozdanie-modulya-dlya-joomla-2-5-i-joomla-3
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
я правильно думаю что с в него можно подключать другие php файла, я смотрю что есть подключение файлов стилей а это мне как раз надо....
Но вот чего я не пойму... На примере понятно показано где начинать...
Но вот в самом файле модуля формы входа
Код
<?php
/**
 * @package Joomla.Site
 * @subpackage mod_login
 * @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;

class modLoginHelper
{
static function getReturnURL($params, $type)
{
$app = JFactory::getApplication();
$router = $app->getRouter();
$url = null;
if ($itemid =  $params->get($type))
{
$db = JFactory::getDbo();
$query = $db->getQuery(true);

$query->select($db->quoteName('link'));
$query->from($db->quoteName('#__menu'));
$query->where($db->quoteName('published'). '=1');
$query->where($db->quoteName('id'). '=' . $db->quote($itemid));

$db->setQuery($query);
if ($link = $db->loadResult()) {
if ($router->getMode() == JROUTER_MODE_SEF) {
$url = 'index.php?Itemid='.$itemid;
}
else {
$url = $link.'&Itemid='.$itemid;
}
}
}
if (!$url)
{
// stay on the same page
$uri = clone JFactory::getURI();
$vars = $router->parse($uri);
unset($vars['lang']);
if ($router->getMode() == JROUTER_MODE_SEF)
{
if (isset($vars['Itemid']))
{
$itemid = $vars['Itemid'];
$menu = $app->getMenu();
$item = $menu->getItem($itemid);
unset($vars['Itemid']);
if (isset($item) && $vars == $item->query) {
$url = 'index.php?Itemid='.$itemid;
}
else {
$url = 'index.php?'.JURI::buildQuery($vars).'&Itemid='.$itemid;
}
}
else
{
$url = 'index.php?'.JURI::buildQuery($vars);
}
}
else
{
$url = 'index.php?'.JURI::buildQuery($vars);
}
}

return base64_encode($url);
}

static function getType()
{
$user = JFactory::getUser();
return (!$user->get('guest'))? 'logout' : 'login';
}
}
ваще ни че не понятно от куда начинать и что здесь происходит...
...
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
покажите вьюху модуля /tmpl/default.php
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
покажите вьюху модуля /tmpl/default.php
Код
<?php

/**

 * @package Joomla.Site

 * @subpackage mod_login

 * @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;

JHtml::_('behavior.keepalive');

?>

<?php if ($type == 'logout') : ?>
 <?php include 'default-vhod.php'; ?>
<?php else : ?>
<?php
// Соединиться с сервером БД
mysql_connect("localhost", "root", "") or die (mysql_error ());

// Выбрать БД
mysql_select_db("login") or die(mysql_error());
   
    $strSQL = "SELECT * FROM  `log_users` WHERE username =  'admin';";

// Выполнить запрос (набор данных $rs содержит результат)
$rs = mysql_query($strSQL);

// Цикл по recordset $rs
// Каждый ряд становится массивом ($row) с помощью функции mysql_fetch_array
while($row = mysql_fetch_array($rs))
  {

   // Записать значение столбца FirstName (который является теперь массивом $row)
  $user_id =  $row['id'];
  echo $row['username'];

  }

if("admin" === "admin")
{
    $codeMD5 = rand(5, 15);

// SQL-запрос
$r = mysql_query("UPDATE `log_users` SET  `online` =  md5('".$codeMD5."') WHERE  `log_users`.`id` =101;");

    }
else
{
echo "Не удалось найти Указанный Логин в Базе данных!";
}
?>

<form method="post" id="login-form" >

<table width="100%">

<?php if ($params->get('pretext')): ?>

<div class="pretext">

<p><?php echo $params->get('pretext'); ?></p>

</div>

<?php endif; ?>

<fieldset class="userdata">

<p id="form-login-username">

    <tr>

            <td><label for="modlgn-username"><strong><?php echo JText::_('MOD_LOGIN_VALUE_USERNAME')?>:</strong></label></td>

    <td><input id="modlgn-username" type="text" name="username" class="inputbox"  size="18" /></td></tr>

</p>

<p id="form-login-password">

<tr>

        <td><label for="modlgn-passwd"><strong><?php echo JText::_('JGLOBAL_PASSWORD')?>:</strong></label></td>

<td><input id="modlgn-passwd" type="password" name="password" class="inputbox" size="18"  /></td></tr>

</p>

    <tr><td></td></tr>

<?php if (JPluginHelper::isEnabled('system', 'remember')) : ?>

<p id="form-login-remember">

<tr><td></td><td style="text-align:left"><input id="modlgn-remember" type="checkbox" name="remember" class="inputbox" value="yes"/>

        <strong><label for="modlgn-remember"><?php echo JText::_('MOD_LOGIN_REMEMBER_ME')?></label></strong></td></tr></table>

</p>

    <table width="100%"><tr>

<?php endif; ?>

<td width="50%">

    <input type="button" class="btn btn-warning" value="Регистрация" onclick="location.href='<?php echo JRoute::_('index.php?option=com_users&view=registration'); ?>'" /></td>

    <td style="text-align:center" width="50%"><input type="submit" name="loginVhod" class="btn btn-warning" value="Авторизация" /></td></tr></table>

<input type="hidden" name="option" value="com_users" />

<input type="hidden" name="task" value="user.login" />

<input type="hidden" name="return" value="<?php echo $return; ?>" />

<?php echo JHtml::_('form.token'); ?>

</fieldset>

<?php if ($params->get('posttext')): ?>

<div class="posttext">

<p><?php echo $params->get('posttext'); ?></p>

</div>

<?php endif; ?>

</form>

<?php endif; ?>


я че та не в тот файл смотрел...
...
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
вот нашел хороший пример.... http://joomla-umnik.ru/sozdanie-modulya-joomla-2-5
как вы думаете он мне подойдет!
...
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
В стилях добавьте:
Код: css
#loading {background:url("/media/mod_login/images/loader.gif") no-repeat scroll 50% 50% rgba(0,0,0,0.8);position:fixed;opacity:0.8;border-radius:4px;display:none;filter:alpha(opacity = 80);-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity = 80);}
Путь сами поправьте, картинка во вложении.

Скрипт в самом начале:
Код: html4strict
<?php // здесь подключите свой jquery!  ?>
<script type="text/javascript">
jQuery(function($) {
  Splash = function() {
    $("#loading").css("display", "block");
    $("#login-form").submit();
  };
});

jQuery(document).ready(function($)
{
  $(\'<div id="loading"></div>\').appendTo($(\'body\'));
});
';
</script>

Вместо <input type="submit" name="loginVhod" class="btn btn-warning" value="Авторизация" />
сделайте ссылку <a href="javascript:Splash()" name="loginVhod" class="btn btn-warning">Авторизация</a>
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
спасибо Вам, но это для меня слишком сложно... буду пробовать из того что есть...
...
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
вот нашел хороший пример.... http://joomla-umnik.ru/sozdanie-modulya-joomla-2-5
как вы думаете он мне подойдет!
Указанный вами пример не содержит вывода поплавка на время обработки данных хелпером. Для понимания общих принципов построения модулей мною была выше дана ссылка, там для этой цели, имхо, руководство получше.
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
спасибо Вам, но это для меня слишком сложно... буду пробовать из того что есть...
Ну что ж, заветы Ленина в области образования действительно оказались вечными ))
А пример я Вам дал рабочий, проверил, правда, на J3
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод новостей

Автор lindim

Ответов: 5
Просмотров: 1845
Последний ответ 24.04.2023, 11:16:59
от Hrillow
Вывод информации в личный кабинет пользователя

Автор zndm

Ответов: 17
Просмотров: 4525
Последний ответ 22.09.2022, 18:51:44
от beliyadm
Создать словарь с базой данных на Joomla

Автор didarsd

Ответов: 2
Просмотров: 1632
Последний ответ 25.01.2021, 17:23:21
от beliyadm
Скачивание файла после внесения контактных данных Joomla 2.5.11?

Автор marketingMLS

Ответов: 0
Просмотров: 2840
Последний ответ 11.03.2020, 17:25:39
от marketingMLS
Ошибка при регистрации

Автор lilian1982

Ответов: 9
Просмотров: 1502
Последний ответ 07.11.2019, 04:59:51
от Cedars