Новости Joomla

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

alexey

  • Новичок
  • 9
  • 6 / 0
Прежде всего текст написанный ниже рассчитан на разработчиков AutoBB, либо на тех кто довольно серьезно «поковырял» данный компонент, поэтому все действия необходимо делать на тестовом сайте (т.е. желательно на локальной машине установить чистую joomla, компонент AutoBB и только после этого совершать какие-либо действия). И тем ни менее интересно должно быть многим.

Попалась мне как-то таблица flexigrid (http://www.flexigrid.info/),которая позволяет легко создавать динамические таблицы за счет использования библиотеки jquery (http://jquery.com/).

Краткое описание:
    1.Изменяемый размер колонок
    2.Изменяемая высота и ширина
    3.Наличие сортировки
    4.Прикольный шаблон
    5.Подключение по средством ajax’а файл с данными (XML либо JSON)
    6.Страницы (довольно удобная навигация с возможностью выбора количества строк отображаемых данных)
    7.Показывать/Скрыть столбец
    8.Тулбар
    9.Поиск
    10.Простой API
    11.И еще куча всего

Итак, приступим. Скачиваем с домашней страницы http://www.flexigrid.info/ файл flexigrid.zip и распаковываем его в любом месте. Нам понадобятся файлы flexigrid.js, flexigrid.back.js, jquely-1.2.6.js (т.к. эта библиотека довольно часто обновляется, то лучше скачать свежую версию с оф. сайта http://jquery.com/), а также папки lib и css. Копируем выше перечисленные файлы и папки в каталог /путь/до/компонентов/com_autobb/.

Далее открываем файл autobb.php и там ищем функцию listMesseges(), которая, на мой взгляд, и формирует запросы к БД. В принципе мы этими запросами пользоваться не будем поэтому данную функцию можно за комментировать или просто удалить, а вместо нее вставить следующий текст:

Код
<?php
/*
 *  Функция показа списка объявлений
 */
function listMessages( $category=0 )
{
?>
<link rel="stylesheet" href="<?php echo $mosConfig_live_site?>/components/com_autobb/style.css" />
<link rel="stylesheet" type="text/css" href="<?php echo $mosConfig_live_site?>/components/com_autobb/css/flexigrid/flexigrid.css">
<script type="text/javascript" src="<?php echo $mosConfig_live_site?>/components/com_autobb/lib/jquery/jquery.js"></script>
<script type="text/javascript" src="<?php echo $mosConfig_live_site?>/components/com_autobb/flexigrid.js"></script>

<table id="flex1" style="display:none"></table>

<script type="text/javascript">
$("#flex1").flexigrid(
{
url: '<?php echo $mosConfig_live_site?>/components/com_autobb/table2.php',
dataType: 'json',
colModel :
[
{display: 'Дата',   name : 'rfcDate', width : 30, sortable : true},
{display: 'Фото',   name : 'photo', width : 60},
{display: 'Марка / Модель', name : 'model', width : 120, sortable : true},
{display: 'Объем, см<sup>3</sup>',  name : 'volume', width : 60, sortable : true},
{display: 'КПП',    name : 'transmission', width : 20},
{display: 'Цвет',   name : 'color', width : 30},
{display: 'Год',    name : 'year', width : 40, sortable : true},
{display: 'Цена',   name : 'price', width : 60, sortable : true}
],
sortname: "modifyDate", //сортируемый столбец по умолчанию
sortorder: "asc", // прямая сортировка
usepager: true, //навигация
title: 'Продажа авто', // заголовок
useRp: true, //для возможности вывода по 10, 15, и т.д. строк в таблице
showTableToggleBtn: true
});
</script>

<?php
$meta_title = $title;
$meta_keywords = trim( str_replace( array("\n", "\r"), array(", ", ""), $autobbConfig->seo_words ) );
$meta_description = $title;
$meta = new mosAutoBBmeta( $title, $meta_keywords, $meta_description, $meta_pathway );
return $meta;
}
?>

после этого создаем файл с именем table.php, который будет «общаться» с БД и формировать XML или JSON фалы данных.

Файл table.php формирующий JSON ответ:
Код
<?php
function runSQL($rsql)
{
$db['default']['hostname'] = "localhost";
$db['default']['username'] = 'root';
$db['default']['password'] = "";
$db['default']['database'] = "jos_cars";

$active_group = 'default';

$connect = mysql_connect($db[$active_group]['hostname'],$db[$active_group]['username'],$db[$active_group]['password']) or die ("Error: could not connect to database");
$db = mysql_select_db($db[$active_group]['database']);

$result = mysql_query($rsql) or die ($rsql);
return $result;
mysql_close($connect);
}

function countRec($fname,$tname)
{
$sql = "SELECT count($fname) FROM $tname ";
$result = runSQL($sql);
while ($row = mysql_fetch_array($result))
           {
return $row[0];
}
}
$page = $_POST['page'];
$rp = $_POST['rp'];
$sortname = $_POST['sortname'];
$sortorder = $_POST['sortorder'];

if (!$sortname) $sortname = 'name';
if (!$sortorder) $sortorder = 'desc';

$sort = "ORDER BY $sortname $sortorder";

if (!$page) $page = 1;
if (!$rp) $rp = 10;

$start = (($page-1) * $rp);

$limit = "LIMIT $start, $rp";

$query = $_POST['query'];
$qtype = $_POST['qtype'];

$where = " WHERE published=1";
if ($query) $where = " WHERE $qtype LIKE '%$query%' ";
$sql = "SELECT DATE_FORMAT(m.modifyDate, '%d.%m') as rfcDate,m.vendor,m.model,m.volume,m.transmission,m.color,m.year,m.price,
v.id AS v_id, v.title AS vendor_title,
mdls.id AS mdls_id, mdls.title AS model_title
FROM jos_autobb_messages AS m, jos_autobb_vendors AS v, jos_autobb_models AS mdls WHERE m.vendor=v.id and m.model=mdls.id  $sort $limit";
$result = runSQL($sql);

$total = countRec("modifyDate","jos_autobb_messages AS m, jos_autobb_vendors AS v, jos_autobb_models AS mdls WHERE m.vendor=v.id and m.model=mdls.id");

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
header("Content-type: text/x-json");
$json = "";
$json .= "{\n";
$json .= "page: $page,\n";
$json .= "total: $total,\n";
$json .= "rows: [";
$rc = false;
while ($row = mysql_fetch_array($result))
{
if ($rc) $json .= ",";
$json .= "\n{";
$json .= "id:'".$row['rfcDate']."',";
$json .= "cell:['".$row['rfcDate']."'";
$json .= ",'".addslashes('<img src=http://cars.ru/components/com_autobb/photos/11/im_3.jpg widht=40 height=40>')."'";
$json .= ",'".addslashes("<a href=index.php?option=com_autobb&Itemid=11&task=show&id=11>".$row['vendor_title']." ".$row['model_title']."</a>")."'";
$json .= ",'".addslashes($row['volume'])."'";
$json .= ",'".addslashes($row['transmission'])."'";
$json .= ",'".addslashes($row['color'])."'";
$json .= ",'".addslashes($row['year'])."'";
$json .= ",'".$row['price']."']";
$json .= "}";
$rc = true;
}
$json .= "]\n";
$json .= "}";
echo $json;
?>

Файл table.php формирующий XML ответ:
Код
<?php
function runSQL($rsql)
{
$db['default']['hostname'] = "localhost";
$db['default']['username'] = 'root';
$db['default']['password'] = "";
$db['default']['database'] = "jos_cars";

$active_group = 'default';

$connect = mysql_connect($db[$active_group]['hostname'],$db[$active_group]['username'],$db[$active_group]['password']) or die ("Error: could not connect to database");
$db = mysql_select_db($db[$active_group]['database']);

$result = mysql_query($rsql) or die ($rsql);
return $result;
mysql_close($connect);
}

function countRec($fname,$tname)
{
$sql = "SELECT count($fname) FROM $tname ";
$result = runSQL($sql);
while ($row = mysql_fetch_array($result)) {
return $row[0];
}
}
$page = $_POST['page'];
$rp = $_POST['rp'];
$sortname = $_POST['sortname'];
$sortorder = $_POST['sortorder'];

if (!$sortname) $sortname = 'name';
if (!$sortorder) $sortorder = 'desc';

$sort = "ORDER BY $sortname $sortorder";

if (!$page) $page = 1;
if (!$rp) $rp = 10;

$start = (($page-1) * $rp);

$limit = "LIMIT $start, $rp";

$query = $_POST['query'];
$qtype = $_POST['qtype'];

$where = " WHERE published=1";
if ($query) $where = " WHERE $qtype LIKE '%$query%' ";

$sql = "SELECT DATE_FORMAT(m.modifyDate, '%d.%m') as rfcDate,m.vendor,m.model,m.volume,m.transmission,m.color,m.year,m.price,
v.id AS v_id, v.title AS vendor_title,
mdls.id AS mdls_id, mdls.title AS model_title
FROM jos_autobb_messages AS m, jos_autobb_vendors AS v, jos_autobb_models AS mdls WHERE m.vendor=v.id and m.model=mdls.id  $sort $limit";
$result = runSQL($sql);

$total = countRec("modifyDate","jos_autobb_messages AS m, jos_autobb_vendors AS v, jos_autobb_models AS mdls WHERE m.vendor=v.id and m.model=mdls.id");

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
header("Content-type: text/xml");
$xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
$xml .= "<rows>";
$xml .= "<page>$page</page>";
$xml .= "<total>$total</total>";
while ($row = mysql_fetch_array($result)) {
$xml .= "<row id='".$row['rfcDate']."'>";
$xml .= "<cell><![CDATA[".$row['rfcDate']."]]></cell>";
$xml .= "<cell><![CDATA[".utf8_encode('<img src=http://cars.ru/components/com_autobb/photos/11/im_3.jpg widht=40 height=40>')."]]></cell>";
$xml .= "<cell><![CDATA[".utf8_encode("<a href=index.php?option=com_autobb&Itemid=11&task=show&id=11>".$row['vendor_title']." ".$row['model_title']."</a>")."]]></cell>";
$xml .= "<cell><![CDATA[".utf8_encode($row['volume'])."]]></cell>";
$xml .= "<cell><![CDATA[".utf8_encode($row['transmission'])."]]></cell>";
$xml .= "<cell><![CDATA[".utf8_encode($row['color'])."]]></cell>";
$xml .= "<cell><![CDATA[".utf8_encode($row['year'])."]]></cell>";
$xml .= "<cell><![CDATA[".utf8_encode(row['price'])."]]></cell>";
$xml .= "</row>";
}

$xml .= "</rows>";
echo $xml;
?>

Если будите использовать XML, то необходимо в функции ListMessages() исправить dataType: 'json' на dataType: 'xml'.

Вроде все :)

З.Ы.: в тексте сознательно упрощены/урезаны запросы к БД, поскольку моя версия компонента слегка отличается, но думаю общий смысл что и как делать понятен :)

З.Ы.2: хотелось бы увидеть полноценную интеграцию этой таблицы в следующей версии компонента, а то сортировка от некоего Samuel Birch, думаю, не устраивает многих (сортировка по средством java script только текущей страницы :( )

[вложение удалено Администратором]
« Последнее редактирование: 22.12.2008, 20:38:43 от alexey »
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Могу сказать, что такое решение вполне жизнеспособно, но реализовать его стоит все же более правильно, а не "тут отрезаем, тут пришиваем". Я потестирую эту библиотеку, если она действительно настолько гибкая, то в новой версии будет использовано именно это решение.

За работу +1.
*

alexey

  • Новичок
  • 9
  • 6 / 0
Собственно поскольку компонент только начал «ковырять», то всех тонкостей не знаю :(.
Мне не удалось использовать ВАШИ запросы к БД, поэтому (после недели мучений) решил на прямую их отправлять. А так естественно только посмотреть протестировать об этом и написал в самом начале :)
*

dimaxz

  • Захожу иногда
  • 117
  • 3 / 0
Как осущесвтить запросы к базе, неподскажите, не для Joomla а для веб-приложения например
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Погуглите на тему php+mysql, если вы об этом, и на будущее пишите подобные вопросы в Флейм
*

dmsoh

  • Захожу иногда
  • 195
  • 8 / 0
alexey, +1, а в работе дадите поглядеть, очень интересно?
*

alexey

  • Новичок
  • 9
  • 6 / 0
Добрый день, всем!!! :) Извиняюсь что не отвечал, было мало свободного времени.

TO dimaxz: Собственно в приведенных примерах и есть запросы к базе минуя оберточные функции joomla. Для нее это бы выглядело как-то так:

Код
	global  $database,

Загрузка списка пользователей
$database->setQuery("SELECT * FROM #__users");
$list = $database->loadObjectList();
 
foreach($list as $user)
{
      echo $user->name;
}


TO dmsoh: на данный момент полностью рабочей версии с данной таблицей у меня нет :( , а выкладывать на сервер сырую версию не хочу (дабы не расстраивать ни себя ни посетителей моего сайта ). Тем ни менее определенные с подвижки в этом деле есть:

1. переделан JSON ответ (выбор полностью остановлен на нем, т.к. XLM и правда получается тяжеловатым) под компонент autoBB
2. вместо цены 100000 пишется 100 000 (решение взял у Yurets (Модуль Каруселька для AutoBB) хотя не факт что оно именно его ;) )
3. разделил все по категориям ТС ну и еще по мелочи :)

на данный момент есть несколько проблем:
1. поскольку добавил в таблицу  autobb_messages еще один параметр наличие фото (для того чтобы выдирать логотип автомобиля напрямую)  есть потребность ткнуть меня носом в функцию которая создает превьюшки с именами im_1, im_2 и т.д. (вроде все облазил, а бревна в глазу так и не нашел)
2. в связи с пунктом выше возникла необходимость подправить функцию создания нового объявления, а тут уже возникает естественное желание сделать «Добавление новых объявлений за 1 шаг» посредством той же jQuery

поэтому если у кого есть какие идеи просьба не стеснятся! А то у меня и так уже развивается хронический депрессняк и КРИЗИС ТУТ НЕ ПРИЧЕМ!!!

З.Ы. внизу файл с примерно как оно есть :)

[вложение удалено Администратором]
« Последнее редактирование: 07.02.2009, 12:40:52 от alexey »
*

alexey

  • Новичок
  • 9
  • 6 / 0
Долго думал выкладывать или нет, т.к. не совсем по теме ...

... дело в том, что меня не совсем устраивает в сводной таблице вывод названия цвета. На мой взгляд лучше вывести сам цвет, а при наведении мышки на него отображать заголовок. Это IMO, так что кто не согласен дальше можно не читать!!!

И так поехали ...

для начала нам потребуется добавть сими цвета в таблицу в виде RGB кодировки. Таблица #__autobb_color в которой надо добавить еще одно поле.
Я назвал его "cod_color" (тип данный 'varchar') можно как-то еще например rgb_cod и т.п. не суть важно.

Код
-- 
-- Структура таблицы `#__autobb_colors`
--

CREATE TABLE `jos_autobb_colors` (
  `id` int(11) NOT NULL auto_increment,
  `title` varchar(100) NOT NULL default '',
  `cod_color` varchar(6) default NULL,
  `ordering` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=36 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=36 ;

--
-- Дамп данных таблицы `#__autobb_colors`
--

INSERT INTO `jos_autobb_colors` VALUES (1, 'Бежевый', 'f5f5dc', 1);
INSERT INTO `jos_autobb_colors` VALUES (2, 'Бежевый металлик', 'f5f5dc', 9);
INSERT INTO `jos_autobb_colors` VALUES (3, 'Белый', 'ffffff', 10);
INSERT INTO `jos_autobb_colors` VALUES (4, 'Белый металлик', 'ffffff', 11);
INSERT INTO `jos_autobb_colors` VALUES (5, 'Голубой', '42aaff', 12);
INSERT INTO `jos_autobb_colors` VALUES (6, 'Голубой металлик', '42aaff', 13);
INSERT INTO `jos_autobb_colors` VALUES (7, 'Желтый', 'ffff00', 14);
INSERT INTO `jos_autobb_colors` VALUES (8, 'Желтый металлик', 'ffff00', 15);
INSERT INTO `jos_autobb_colors` VALUES (9, 'Зеленый', '00ff00', 16);
INSERT INTO `jos_autobb_colors` VALUES (10, 'Зеленый металлик', '00ff00', 17);
INSERT INTO `jos_autobb_colors` VALUES (11, 'Золотой', 'ffd700', 18);
INSERT INTO `jos_autobb_colors` VALUES (12, 'Золотой металлик', 'ffd700', 19);
INSERT INTO `jos_autobb_colors` VALUES (13, 'Коричневый', '964b00', 20);
INSERT INTO `jos_autobb_colors` VALUES (14, 'Коричневый металлик', '964b00', 21);
INSERT INTO `jos_autobb_colors` VALUES (15, 'Красный', 'ff0000', 22);
INSERT INTO `jos_autobb_colors` VALUES (16, 'Красный металлик', 'ff0000', 23);
INSERT INTO `jos_autobb_colors` VALUES (17, 'Оранжевый', 'ffa500', 24);
INSERT INTO `jos_autobb_colors` VALUES (18, 'Оранжевый металлик', 'ffa500', 25);
INSERT INTO `jos_autobb_colors` VALUES (19, 'Пурпурный', 'ff00ff', 26);
INSERT INTO `jos_autobb_colors` VALUES (20, 'Пурпурный металлик', 'ff00ff', 27);
INSERT INTO `jos_autobb_colors` VALUES (21, 'Серебристый', 'c0c0c0', 28);
INSERT INTO `jos_autobb_colors` VALUES (22, 'Серебристый металлик', 'c0c0c0', 29);
INSERT INTO `jos_autobb_colors` VALUES (23, 'Серый', '808080', 30);
INSERT INTO `jos_autobb_colors` VALUES (24, 'Серый металлик', '808080', 31);
INSERT INTO `jos_autobb_colors` VALUES (25, 'Синий', '0000ff', 32);
INSERT INTO `jos_autobb_colors` VALUES (26, 'Синий металлик', '0000ff', 33);
INSERT INTO `jos_autobb_colors` VALUES (27, 'Фиолетовый', '8b00ff', 34);
INSERT INTO `jos_autobb_colors` VALUES (28, 'Фиолетовый металлик', '8b00ff', 35);
INSERT INTO `jos_autobb_colors` VALUES (29, 'Черный', '000000', 36);
INSERT INTO `jos_autobb_colors` VALUES (30, 'Черный металлик', '000000', 37);
INSERT INTO `jos_autobb_colors` VALUES (31, 'Оливковый', '808000', 8);
INSERT INTO `jos_autobb_colors` VALUES (32, 'Оливковый металлик', '808000', 7);
INSERT INTO `jos_autobb_colors` VALUES (33, 'Бордовый', '9b2d30', 6);
INSERT INTO `jos_autobb_colors` VALUES (34, 'Светло-зеленый', '00ff00', 5);
INSERT INTO `jos_autobb_colors` VALUES (35, 'Темно-синий', '000080', 4);

Итак таблица изменина, теперь нужно цвета как то выводить для этого открываем файл (боюсь ошибиться у мну вывод не стандартный ;) ) autobb.php.
В нем ищем строку (обычно Ctrl+f) function listMessage( ) и уже в ней правим запрос к БД.

c такого
Код
	$query = "SELECT a.*, a.mileage*(1 + a.mileage_unit*0.609) as metric_mileage, a.mileage*(1 - (1 - a.mileage_unit)*0.3785) as english_mileage,"
."\n p.id as photo_id, count(p.id) as photo_count, v.itemid as vendor_itemid, v.title as vendortitle, m.itemid as model_itemid, m.title as modeltitle, c.title as colortitle,"
."\n cur.sign as currency_sign, a.price*cur.rate as price_in_rur, DATE_FORMAT(a.modifyDate, '%a, %d %b %Y %T GMT') as rfcDate";
на такой
Код
	$query = "SELECT a.*, a.mileage*(1 + a.mileage_unit*0.609) as metric_mileage, a.mileage*(1 - (1 - a.mileage_unit)*0.3785) as english_mileage,"
."\n p.id as photo_id, count(p.id) as photo_count, v.itemid as vendor_itemid, v.title as vendortitle, m.itemid as model_itemid, m.title as modeltitle, c.title as colortitle, c.cod_color as cod_color,"
."\n cur.sign as currency_sign, a.price*cur.rate as price_in_rur, DATE_FORMAT(a.modifyDate, '%a, %d %b %Y %T GMT') as rfcDate";

Далее открываем файл  autobb.html.php.
В нем ищем строку function listMessages( ) и правим строку
Код
	<?php if( $autobbConfig->show_color ) { ?>
<td class="color"><?php echo $row->colortitle;?></td>
<?php } ?>
на
Код
	<?php if( $autobbConfig->show_color ) { ?>
<td class="color">
<div style="border: 1px solid #595959; background-color: #<?php echo $row->cod_color;?>; height: 0.5em; width: 0.9em;" title="<?php echo $row->colortitle;?>"></div></td>
<?php } ?>


Вроде все. Удачи!!!

З.Ы. Цвет серебряный у меня заменен на серебристый, ну это IMO.

З.Ы. Ради чего все это смотрим рисунки ;)

[вложение удалено Администратором]
« Последнее редактирование: 21.02.2009, 09:59:43 от alexey »
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Это идея обсуждалась еще после выхода самых первых версий компонента, но до ее реализации пока не доходило. +1

Здравствуйте уважаемые!
Вопрос маленько не по теме, точнее не про AutoBB, а про компонент Flexigrid  ^-^
Таблица очень хорошая, (по моему мнению лучшая, среди подобных компонентов).
Использую ее в приложении, для вывода музыкального плейлиста (не для плеера, а именно для работы, с самим плейлистом (редактирование)).
И собственно сам вопрос. !!!???!!! Как реализовать drag'n'drop строк, с последующим сохранением списка в бд?...Не подскажите? ;)
Спасибо.
*

alexey

  • Новичок
  • 9
  • 6 / 0
Честно говоря над перетаскиванием именно строк как то и не задумывался (наверное потому что для моих целей оно и не надо :) )

Посмотри по этим ссылкам:
http://www.dserg.com/javascript-dragndrop-sorting-2006-12-09.html

http://tool-man.org/examples/sorting.html

http://wiki.github.com/madrobby/scriptaculous

З.Ы.:  Да таблица мне тоже очень нравится и я ее юзаю. Вот только интереса к ней почему-то не видно, а ведь компонент от этого только бы выиграл.

З.Ы.2: Есть расширенная таблица цветов  с RGB кодами, если надо дайте знать.
« Последнее редактирование: 10.05.2009, 07:10:21 от alexey »
*

andredezigner

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
alexey, извините за глупый вопрос, а где найти таблицу #__autobb_color?
*

Yurets

  • Захожу иногда
  • 405
  • 92 / 0
  • Губернатор острова Борнео
alexey, извините за глупый вопрос, а где найти таблицу #__autobb_color?
#__autobb_color == jos_autobb_colors
В комнате с белым потолком
*

andredezigner

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Скажите пожалуйста, это этот файл color.sql?
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Это вам вообще в базе данных нужно искать.
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Для тех кто непонял.
1. В Базе данных ищем таблицу - jos_autobb_colors - удаляем ее.
2. Делаем SQL запрос :
CREATE TABLE `jos_autobb_colors` (
  `id` int(11) NOT NULL auto_increment,
  `title` varchar(100) NOT NULL default '',
  `cod_color` varchar(6) default NULL,
  `ordering` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=36 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=36 ;

--
-- Дамп данных таблицы `#__autobb_colors`
--

INSERT INTO `jos_autobb_colors` VALUES (1, 'Бежевый', 'f5f5dc', 1);
INSERT INTO `jos_autobb_colors` VALUES (2, 'Бежевый металлик', 'f5f5dc', 9);
INSERT INTO `jos_autobb_colors` VALUES (3, 'Белый', 'ffffff', 10);
INSERT INTO `jos_autobb_colors` VALUES (4, 'Белый металлик', 'ffffff', 11);
INSERT INTO `jos_autobb_colors` VALUES (5, 'Голубой', '42aaff', 12);
INSERT INTO `jos_autobb_colors` VALUES (6, 'Голубой металлик', '42aaff', 13);
INSERT INTO `jos_autobb_colors` VALUES (7, 'Желтый', 'ffff00', 14);
INSERT INTO `jos_autobb_colors` VALUES (8, 'Желтый металлик', 'ffff00', 15);
INSERT INTO `jos_autobb_colors` VALUES (9, 'Зеленый', '00ff00', 16);
INSERT INTO `jos_autobb_colors` VALUES (10, 'Зеленый металлик', '00ff00', 17);
INSERT INTO `jos_autobb_colors` VALUES (11, 'Золотой', 'ffd700', 18);
INSERT INTO `jos_autobb_colors` VALUES (12, 'Золотой металлик', 'ffd700', 19);
INSERT INTO `jos_autobb_colors` VALUES (13, 'Коричневый', '964b00', 20);
INSERT INTO `jos_autobb_colors` VALUES (14, 'Коричневый металлик', '964b00', 21);
INSERT INTO `jos_autobb_colors` VALUES (15, 'Красный', 'ff0000', 22);
INSERT INTO `jos_autobb_colors` VALUES (16, 'Красный металлик', 'ff0000', 23);
INSERT INTO `jos_autobb_colors` VALUES (17, 'Оранжевый', 'ffa500', 24);
INSERT INTO `jos_autobb_colors` VALUES (18, 'Оранжевый металлик', 'ffa500', 25);
INSERT INTO `jos_autobb_colors` VALUES (19, 'Пурпурный', 'ff00ff', 26);
INSERT INTO `jos_autobb_colors` VALUES (20, 'Пурпурный металлик', 'ff00ff', 27);
INSERT INTO `jos_autobb_colors` VALUES (21, 'Серебристый', 'c0c0c0', 28);
INSERT INTO `jos_autobb_colors` VALUES (22, 'Серебристый металлик', 'c0c0c0', 29);
INSERT INTO `jos_autobb_colors` VALUES (23, 'Серый', '808080', 30);
INSERT INTO `jos_autobb_colors` VALUES (24, 'Серый металлик', '808080', 31);
INSERT INTO `jos_autobb_colors` VALUES (25, 'Синий', '0000ff', 32);
INSERT INTO `jos_autobb_colors` VALUES (26, 'Синий металлик', '0000ff', 33);
INSERT INTO `jos_autobb_colors` VALUES (27, 'Фиолетовый', '8b00ff', 34);
INSERT INTO `jos_autobb_colors` VALUES (28, 'Фиолетовый металлик', '8b00ff', 35);
INSERT INTO `jos_autobb_colors` VALUES (29, 'Черный', '000000', 36);
INSERT INTO `jos_autobb_colors` VALUES (30, 'Черный металлик', '000000', 37);
INSERT INTO `jos_autobb_colors` VALUES (31, 'Оливковый', '808000', 8);
INSERT INTO `jos_autobb_colors` VALUES (32, 'Оливковый металлик', '808000', 7);
INSERT INTO `jos_autobb_colors` VALUES (33, 'Бордовый', '9b2d30', 6);
INSERT INTO `jos_autobb_colors` VALUES (34, 'Светло-зеленый', '00ff00', 5);
INSERT INTO `jos_autobb_colors` VALUES (35, 'Темно-синий', '000080', 4);

3. Правим файлы по инструкции.

Все работает отлично.
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

Slomn

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Может есть у кого-нибудь более полный список по цветам?
Пробовал этот заменить на рабочем сайте, получается нестыковка с ранее добавленными цветами.
Например был Красный - показало Коричневый и т.д.
*

sega

  • Захожу иногда
  • 272
  • 5 / 0
а как сделать чтобы и в добавлении объявления был выпадающий список цветов, место нашёл
Код
$lists['colors'] = mosHTML::selectList( $colors, 'color', 'class="inputbox" size="1"', 'value', 'text', intval( $row->color ) );
это autobb.php строка 530
но как сделать разный background у ячеек?
*

sega

  • Захожу иногда
  • 272
  • 5 / 0
и ещё в странице детального описания авто цвет не выводится, т.е.
Код
<?php echo $row->cod_color;?>
ничего не выводит..
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
alexey, у меня ваша задумка не заработала (((

flexigrid.back.js такого файла нет, есть flexigrid.pack.js
вы пишите ,что нужно создать файл table.php, но в функции у вас :
Код
<script type="text/javascript">
$("#flex1").flexigrid(
{
url: '<?php echo $mosConfig_live_site?>[b]/components/com_autobb/table2.php[/b]',
dataType: 'json',
colModel :
И еще один вопрос:
Код
<link rel="stylesheet" href="<?php echo $mosConfig_live_site?>[b]/components/com_autobb/style.css[/b]" />

style.css вы имели в виду /components/com_autobb/css/style.css или какой то другой?

Еще вопрос , что именно закомментировать?

от function listMessages( $category=0 ) { по function getErrorText( $code ) {
« Последнее редактирование: 31.08.2010, 14:19:59 от smalexxx »
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
« Последнее редактирование: 04.09.2010, 17:09:23 от smalexxx »
*

alexey

  • Новичок
  • 9
  • 6 / 0
Всем привет! Давно здесь не был

For sega: для этого необходимо было включить в запрос к БД столбец cod_color, а вот после этого выводить где нужно

For smalexxx: Все может быть. Все течет, все меняется. 1. Походу тот проект, о котором писалось, уже не развивается, так что не исключено что я просто очеПятолся в названии файла. 2. Естественно как файл назовете (хоть нехороший человек.php) так к нему и обращаться    ;)
Удачи в начинаниях!

З.Ы. «статья» была в первую очередь подготовлена для разработчиков (для Alex Revo в частности) чтобы довести его до ума.

З.З.Ы. Мой проект живет по адресу www.autodrom.in
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Вам удалось реализовать динамическую таблицу  и поиск на AJAX!
На текущий момент у меня такого не получилось  :(.

Как я понял, сейчас в autobb в autobb.html.php (119 строка) используется библиотека mootools.js и sortableTable.js

193 строка начало таблицы id="myTable".
403 строка конец.

Скрипт
<script type="text/javascript">
         var myTable = {};
         window.addEvent('domready', function(){
            myTable = new sortableTable('myTable', {overCls: 'over'});
         });
      </script>

Как вы сделали, что бы в "наличии" был зеленого цвета? На текущий момент на форуме я не нашел писаного решения.
« Последнее редактирование: 06.09.2010, 12:25:50 от smalexxx »
*

alexey

  • Новичок
  • 9
  • 6 / 0
Цитировать
Как вы сделали, что бы в "наличии" был зеленого цвета?

не помню точно был ли такой параметр изначально, но можно сделать примерно так
В ф-ции showMessage вставляем следующий код:
Код
$status = array( "", "<span style='color:green;font-weight:bold;'>в наличии</span>",
"<span style='color:orange;font-weight:bold;'>в пути</span>",
"<span style='color:red;font-weight:bold;'>под заказ</span>");

после этого выводим где нам надо.

Если изначально такой возможности нет, то создаем в таблице соот. параметр, добавляем его к запросу БД и выводим в объявлении
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
А как вывести?
*

alexey

  • Новичок
  • 9
  • 6 / 0
Лучше спросить у Alex Revo, т.к. у меня мало что осталось от стандартного компонента, но в любом случае в функции showMessage
и примерно как-то так:
Код
			if( $row->en > 0 )
{
if(!$td_num)
{
echo '<tr class="sectiontableentry'.$tr_num.'">';
}
?>
<td width="25%">Статус:</td>
<td class="value" width="25%"><?php echo $status[$row->en];?></td>
<?php
if($td_num)
{
echo '</tr>';
$tr_num = 3 - $tr_num;
}
$td_num = 1 - $td_num;
}
*

murzuk

  • Захожу иногда
  • 77
  • 0 / 0
Как сделать добавление цветового кода из админки?
Строка с кодом на странице управления цветом выглядит так же как строка с названием цвета. Как вывести данные из базы, не могу понять. Какие строки, например, в admin.autobb.html.php выводят название цвета?
В MySql код добавлен, в таблице объявлений сайта выведен.
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
код цвета нужно выводить не текстом в столбец с данными, а как css-свойство этого столбца, примерно так:
<td style="background-color:#<?php echo $цвет_из_бд;?>;">&nbsp;</td>
*

murzuk

  • Захожу иногда
  • 77
  • 0 / 0
Цитировать
код цвета нужно выводить не текстом в столбец с данными, а как css-свойство этого столбца, примерно так:
<td style="background-color:#<?php echo $цвет_из_бд;?>;">&nbsp;</td>
Но при style="background-color:# цвет будет выводится как цветное поле, а в базу цвет вводится как код цвета.
Речь идет о том, чтобы можно было добавляя новый цвет, или корректируя уже имеющийся из админки сразу вводить код, а не добавил цвет, потом лезешь в базу, что бы добавить код.
Вод строки из управления списком цвета:
Код
function showColors() {
global $database, $mainframe, $mosConfig_list_limit, $mosConfig_absolute_path, $autobbConfig;
require_once( $mosConfig_absolute_path.'/administrator/includes/pageNavigation.php' );

$limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit );
$limitstart = $mainframe->getUserStateFromRequest( "view{com_autobb}{colors}limitstart", 'limitstart', 0 );

$query = "SELECT count(*)"
."\n FROM #__autobb_colors"
;
$database->setQuery( $query );
$total = $database->loadResult();
$pageNav = new mosPageNav( $total, $limitstart, $limit );

$query = "SELECT *"
."\n FROM #__autobb_colors"
. ($autobbConfig->color_sort ? "\n ORDER BY ordering" : "\n ORDER BY title" )
."\n LIMIT ". $pageNav->limitstart .", ".$pageNav->limit
;
$database->setQuery( $query );
$rows = $database->loadObjectList();
langSelect ($autobbConfig);
HTML_autobb::showColors( $rows, $pageNav);
}

function editColor($cid) {
global $database;

$lists = array();
$row = new mosAutoBBColor($database);
$row->load($cid);

$database->setQuery("SELECT ordering AS value, concat(ordering,'::',title) AS text FROM #__autobb_colors ORDER BY ordering");
$orders = $database->loadObjectList();
$lists['ordering'] = mosHTML::selectList( $orders, 'ordering', 'class="inputbox" size="1"', 'value', 'text', $row->ordering );
langSelect (0);
HTML_autobb::editColor( $row, $lists);
}

function saveColor($cid) {
global $database, $task;

$row = new mosAutoBBColor($database);
if (!$row->bind( $_POST )) {
echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
exit();
}
if (!$row->store()) {
echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
exit();
}
$row->checkin();
$row->updateOrder( );
langSelect (0);
if( $task == 'save' ) mosRedirect( 'index2.php?option=com_autobb&act=colors', _AUTOBB_COMMON_SAVED );
else mosRedirect( 'index2.php?option=com_autobb&act=colors&amp;task=edit&amp;hidemainmenu=1&amp;cid[]='.$row->id, _AUTOBB_COMMON_SAVED );
}

function deleteColors($cid) {
global $database;

$cids = implode( ',', $cid );

$query = "DELETE FROM #__autobb_colors"
."\n WHERE id IN ($cids)"
;
$database->setQuery( $query );
if (!$database->query()) {
echo "<script> alert('".$database->stderr()."');</script>\n";
exit();
}
langSelect (0);
mosRedirect( 'index2.php?option=com_autobb&act=colors', _AUTOBB_COMMON_REMOVED );
}

function orderColor($cid, $inc ) {
global $database;

$row = new mosAutoBBColor( $database );
$row->load( $cid );

$row->move( $inc );
$row->updateOrder( );
langSelect (0);
mosRedirect( 'index2.php?option=com_autobb&act=colors', _AUTOBB_COMMON_ORDER_CHANGED );
}
« Последнее редактирование: 01.02.2012, 21:27:36 от murzuk »
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Ну так а в чем проблема, вы же сами пишите, что заносите в базу hex-код цвета. При редактировании отображайте код, а при выводе цвет.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Компонент AutoBB REV 2.3

Автор Moralezz

Ответов: 1
Просмотров: 3034
Последний ответ 24.02.2019, 11:10:31
от KKAAZZOO
Компонент AutoBB REV 2.3 - AutoBB

Автор Moralezz

Ответов: 0
Просмотров: 1848
Последний ответ 23.02.2019, 20:42:08
от Moralezz
autobb+чпу

Автор htmlcss

Ответов: 0
Просмотров: 3509
Последний ответ 16.11.2013, 14:18:38
от htmlcss
можно ли рлализовать сайт на AutoBB фукциональностью как koleso.kz

Автор saidrustam

Ответов: 7
Просмотров: 6675
Последний ответ 21.10.2013, 10:20:02
от Кто в сапогах
AutoBB 2.3 for Joomla 1.5 legacy mode

Автор haword

Ответов: 560
Просмотров: 107825
Последний ответ 26.06.2013, 23:59:49
от exanson