Форум » Система построения сайтов » Модули » Сторонние модули » Модуль игры на основе модуля файлов
Открыть Ответить

Модуль игры на основе модуля файлов

21
14.11.2009 17:56:31

Ты прав, изображение создается в момент вывода (или предпросмотра) текста. Ну вообщем-то при непосредственной публикации все работает, уменьшенная копия создается. Только вот при предпросмотре оно не создавалось вот почему. У меня было следующее:

PHP
if ($hometext) preview($subject, $hometext, $bodytext, $conf['name']);

В то время как нужно было:

PHP
if ($hometext) preview($subject, $hometext, $bodytext, "", $conf['name']);

Все дело в том, что при копировании модуля я удалил fields (подключаемые поля), и при этом удалил их и из функции предпросмотра. Сооветсвенно она неверно работала.

Версия системы Open SLAED 1.*
typou
typou
22
26.01.2010 10:17:09

решил к модулю прикрутить изменение статуса с помощью ajax. все вроде бы работает, но есть одна проблема.
и так, по порядку:
1. в функции view() файле modules/games/index.php прописываю:

PHP
if (is_moder($conf['name'])) { 
// анимация "загрузка", затем скрипт ajax 
echo "<td align=\"center\"><table><tr><td><div id=\"loading\" style=\"visibility: hidden;\"><img title=\"Загрузка...\" src=\"/images/status/loadstatus.gif\"/></div></td><td><script type=\"text/javascript\" src=\"javascripts/myjs.js\"></script>"
// форма выбора и отправки статуса
."<form name=\"formName\" style=\"visibility: visible;\">"
."<select name=\"id1\" widht=\"300\">";
echo "<option value=\"0\" selected>статус 0</option>";
echo "<option value=\"1\" selected>статус 1</option>";
echo "<option value=\"2\" selected>статус 2</option>";
echo "<option value=\"3\" selected>статус 3</option>";
echo "<option value=\"4\" selected>статус 4</option>";
// переменная id статьи
echo "</select><input type=\"hidden\" name=\"id2\" value=\"$id\">"
// отправка данных функции ajaxRequest(), затем контейнер ajax_response, куда загрузятся данные псле выполнения скрипта
."<input type=\"button\" value=\""._OK."\" onclick=\"ajaxRequest()\" ></form></td></tr></table><div id=\"ajax_response\"></div></td>"; }

скрипт javascripts/myjs.js:

Код
// отправляет переменные redstatus и id файлу /index.php?name=games
var temp1, temp2; temp1=document.formName.id1.value; temp2=document.formName.id2.value;
	
 var redstatus = "redstatus="+temp1+"&id="+temp2+"";

xmlHttp.open("POST", "/index.php?name=games", true);

xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

xmlHttp.send(redstatus);

document.getElementById("loading").style.visibility = "visible";
document.getElementById("formName").style.visibility = "hidden";

//при успешном выполнении запроса присвоение контейнеру ajax_response значения

var response = xmlHttp.responseText;
document.getElementById("ajax_response").innerHTML = response;

ну и последнее, функция в файле modules/games/index.php , с которой идет запрос в бд и вывод данных

PHP
if(isset($_POST['redstatus']))
	{
	global $prefix, $db;
	$id = $_POST['id'];
	$status = $_POST['redstatus'];
	$db->sql_query("UPDATE ".$prefix."_games SET status='$status' WHERE lid='$id'");
	echo "проверка";
	}

Так вот, в

PHP
<div id=\"ajax_response\"></div>

должно выводиться слово "проверка", оно выодиться, но после этого выводиться еще и весь код страницы /index.php?name=games:
forum-GJIFN4Hqng-18201.png
Что не так сделал?

Версия системы Open SLAED 1.*
typou
typou
23
26.01.2010 12:49:50

проблему решил. если кому интересно:
в низу кода модуля вставил

PHP
switch($op) {
             ....
	case "statis":
	statis();
	break;
      }

и изменил:

Код
var redstatus = "&op=statis&redstatus="+temp1+"&id="+temp2+"";

соотвествено функцию назвал function statis().

Версия системы Open SLAED 1.*
typou
typou
Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр