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

eX

  • Захожу иногда
  • 256
  • 72 / 0
Хочу изобразить в данном топике некоторые полезные хаки сделаные мной при работе с AdsManager 2.5 RC1

1. Подсчет количества объявлений в под-категории
Автор компонента как-бы сделал уже непосредственно подсчет, но он "кривой", поскольку считает неверно. Исправляем баги за автора сами ниже.

Идем в adsmanager.php, находим строки:
Код
function getCatTree(&$tree) {
global $database;
$query...

меняем сам запрос на данную:
Код
	$query =  "SELECT c.*, count(a.id) as num_ads,a.id as not_empty ".
"FROM #__adsmanager_ads as a ".
"LEFT JOIN #__adsmanager_adcat as adcat ON a.id = adcat.adid ".
"RIGHT JOIN #__adsmanager_categories as c ON adcat.catid = c.id ".
"WHERE c.published = 1 ".
"GROUP BY c.id ".
"ORDER BY c.parent,c.ordering";

Далее необходимо вывести нам показатель кол-ва объяв в таблицу категорий:
Файл adsmanager.html.php
Находим:
Код
function recurseCategories( $id, $level, &$children,$itemid,$option) {
ищем строки:
Код
							<h3 class="adsmanager_sub_cat">
<?php
}
else
{
if ($first == false)

меняем на:
Код
<h3 class="adsmanager_sub_cat">
<?php
}
else
{
if ($first == false)
echo ' &nbsp;&nbsp;&nbsp;';
echo '<a href="'.$link.'">'.$row->name.'</a>';
// кол-во объявлений
if ($row->num_ads > 0) {
echo '&nbsp;<small><b>'.$row->num_ads.'</b></small>';
}

//
$first = false;

В итоге получается следующее как на скриншоте ниже.

2. Изменяем формат выводимой даты
По умолчанию авторы локализации на русский язык оставили форматирование даты по виду 07-06-2009. Чтобы гражданам РФ было приятней читать и привычней поменяем его на стандарт.

Для этого открываем файл lang_russian.php и ищем строку
Код
DEFINE('ADSMANAGER_DATE_FORMAT_LC',"%d-%m-%Y");

и меняем ее на
Код
DEFINE('ADSMANAGER_DATE_FORMAT_LC',"%d.%m.%Y");

Хочу отметить, что форматировать дату можно по разному. О стандартах можно прочитать по урлу:
http://ru.php.net/manual/ru/function.date.php


Продолженеи следует..

[вложение удалено Администратором]
« Последнее редактирование: 08.07.2009, 09:26:22 от eX »
*

oppo

  • Захожу иногда
  • 367
  • 82 / 8
  • ΨΨΨ я - УКРАЇНЕЦЬ
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #1 : 08.07.2009, 13:08:06 »
для  русского

файл  adsmanager.php строка 1199

echo "<input type='hidden' name='$key' value='".htmlentities(stripslashes($val),ENT_QUOTES)."'>";
меняем на

echo "<input type='hidden' name='$key' value='".htmlentities(stripslashes($val),ENT_QUOTES,'windows-1251')."'>";
*

archik

  • Осваиваюсь на форуме
  • 31
  • 4 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #2 : 10.07.2009, 04:57:31 »
to eX

Почему-то на версию 2.2.1 AdsManager не сработало. К сожалению.
*

vitalura

  • Осваиваюсь на форуме
  • 45
  • 1 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #3 : 17.11.2009, 01:18:56 »
на Adsmanager 2.5 RC2 так же не прокатило :)
*

Eholov

  • Захожу иногда
  • 169
  • 14 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #4 : 23.11.2009, 14:31:30 »
Была проблема с кодировкой даты в объявления - чась даты была ромбиками. помогло вот это:

Для этого открываем файл lang_russian.php и ищем строку
Код:
DEFINE('ADSMANAGER_DATE_FORMAT_LC',"%d-%m-%Y");
и меняем ее на
Код:
DEFINE('ADSMANAGER_DATE_FORMAT_LC',"%d.%m.%Y");

у меня в lang_russian.php этой строки DEFINE('ADSMANAGER_DATE_FORMAT_LC  вообще не было. добавил - заработало.
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #5 : 24.11.2009, 11:44:04 »
to eX Я в шоке что тока не пробовал это единственный код который правильно у меня отрабатывает на Adsmanager 2.5 RC2. Большое спасибо 
*

SibPartizan

  • Захожу иногда
  • 66
  • 1 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #6 : 10.12.2009, 10:14:57 »
Спасибо
*

eX

  • Захожу иногда
  • 256
  • 72 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #7 : 02.02.2010, 05:19:15 »
Обновлю топик. Напишу как считать общее кол-во объявление в ГЛАВНОЙ (родительской) категории для каждого из столбца.

Условимся на том, что подсчет объяв с суб-категории у Вас уже сделан и работает корректно.
Важное замечание: даннй описанный метод имееть место быть правильным только в том случае если иерархия ваших категорий не превышает 2х уровней. Т.е.
1 уровень - Автомобили (# колво в родительской категории)
2 уровень ----- Легковые (# колво в субкатегории)
---------------------объявления
и т.д.

Итак, для того чтобы посчитать общее кол-во объяв в "родителе" вставляем вот такой вот нехитрый код в файле:
adsmanager.html.php ищем функцию recurseCategories, идем глазами ниже до <i><h2 class="adsmanager_main_cat"></i>
и вставляем как ниже написал:

Код: php
function recurseCategories( $id, $level, &$children,$itemid,$option) {
...
<?php foreach($children[$row->id] as $rowx) {
$kassx[] = $rowx->num_ads;
}
?>
<h2 class="adsmanager_main_cat"><a href="<?php echo $link; ?>"  ><?php echo $row->name; ?><?php echo '&nbsp;('.array_sum($kassx).')'; ?> </a>
<?php unset($kassx); ?>

Все, готово.

[вложение удалено Администратором]
*

eX

  • Захожу иногда
  • 256
  • 72 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #8 : 02.02.2010, 05:49:56 »
Вывод объяв в 2 колонки.

Как то нужно было реализовать в 2009 году такой метод подачи инфы. Сделал.
НО! колонки были фиксированные. ID (номер объявления), Объявление (сам текст), т.е. без вывода фотографий.
Я приведу код как это сделано, а как вывести фото думаю будет уже не сложно. Данным постом я просто хочу показать алгоритм как это организовать.

adsmanager.html.php. Функция function show_list($catid,$cat_description,$name,$url,$page,$rows,$pagenav,$navlink,...)
идем глазами до
<table class="adsmanager_table">

Код: php
			<?php
// eX:: 2009-08-21
// ICQ 661165
// реализация вывода объявления в 2 колонки
$curTR = 0;
?>
<table class="adsmanager_table">
<tr>
<?php for(;$i<2;$i++) { ?>
<?php
echo '<th>ID</th>';
?>

 <th><?php echo ADSMANAGER_AD;?></th>
 <?php if (isset($columns)) {
 foreach($columns as $col)
 {
echo "<th>".adsmanager_html::getLangDefinition($col->name)."</th>";
 }
 }
 }
 ?>
 
</tr>
<?php
}
else
{
adsmanager_html::loadScriptImage($conf->image_display,$option);
}

if (isset($rows)) {
foreach($rows as $row) {
++$curTR;
if ($expand == 1)
{
adsmanager_html::show_html_ad($row,$show_contact,$option,$itemid,$positions,$fDisplay,$field_values,$conf,0,$update_possible);
}
else
{
$linkTarget = sefRelToAbs( "index.php?option=$option&amp;page=show_ad&amp;adid=".$row->id."&amp;catid=".$row->category."&amp;Itemid=".$itemid);

if ( $row->flag_commercial == 1) {
$sClassId = "class=\"jooCommercial\" id=\"jooAdHeader\"";
}
else {
if( $row->flag_featured == 1) {
$sClassId = "class=\"jooFeatured\" id=\"jooAdHeader\"";
}
else {
$sClassId = "class=\"adsmanager_table_description\"";
}
}

if ($curTR%2!=0) {
echo '<tr '.$sClassId.' >';
} else {

}
echo '<td >'.$row->id.'</td>';
?>
<?php
echo '<td>';
?>

<?php
$ok = 0;$i=1;
while(!$ok)
{
if ($i < $conf->nb_images + 1)
{
$ext_name = chr(ord('a')+$i-1);
$pic = $mosConfig_absolute_path."/images/$option/ads/".$row->id.$ext_name."_t.jpg";
if (file_exists( $pic))
{
echo "<a href='".$linkTarget."'><img src='".$mosConfig_live_site."/images/$option/ads/".$row->id.$ext_name."_t.jpg' alt='".htmlspecialchars(stripslashes(adsmanager_html::cutLongWord($row->ad_headline)),ENT_QUOTES)."' /></a>";
$ok = 1;
}
}
else if ($conf->nb_images != 0)
{
if ((ADSMANAGER_NOPIC != "")&&(file_exists($mosConfig_absolute_path."/components/$option/images/".ADSMANAGER_NOPIC)))
echo "<a href='".$linkTarget."'><img src='".$mosConfig_live_site."/components/$option/images/".ADSMANAGER_NOPIC."' alt='nopic' /></a>";
else
echo "<a href='".$linkTarget."'><img src='".$mosConfig_live_site."/components/$option/images/pod.gif' alt='nopic' /></a>";
$ok = 1;
}  
else
{
$ok = 1;
}
$i++;  
}
?>
<div>
<h2>
<?php echo '<a href="'.$linkTarget.'">'.stripslashes(adsmanager_html::cutLongWord($row->ad_headline)).'</a>'; ?>
<span class="adsmanager_cat"><?php echo "(".$row->parent." / ".$row->cat.")"; ?></span>
</h2>
<?php
$row->ad_text = str_replace ('<br />'," ",stripslashes(adsmanager_html::cutLongWord($row->ad_text)));
$af_text = substr($row->ad_text, 0, 100)."...";
echo $af_text;
?>
</div>

<?php
if (($my->id == $row->userid)&&($update_possible == 1)) {
?>
<div>
<?php
$target = sefRelToAbs("index.php?option=$option&amp;Itemid=$itemid&amp;page=write_ad&amp;adid=$row->id"."&amp;Itemid=".$itemid);
echo "<a href='".$target."'>".ADSMANAGER_AD_EDIT."</a>";
echo "&nbsp;";
$target = sefRelToAbs("index.php?option=$option&amp;Itemid=$itemid&amp;page=delete_ad&amp;adid=$row->id"."&amp;Itemid=".$itemid);
echo "<a href='".$target."'>".ADSMANAGER_AD_DELETE."</a>";
?>
</div>
<?php
}
?>
</td>
<?php if (isset($columns))
  {
 foreach($columns as $col) {
echo '<td class="center">';
if(isset($fColumn[$col->id]))
{
foreach($fColumn[$col->id] as $field)
{
adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,2); /* 2 = List */
}
}
echo "</td>";
}
  }
?>
<?php if ($curTR==0) echo '</tr>' ?>
<?php
}

Т.е. по сути мы вставляем цикл и проверяем текущую # строку на нулевой остаток от деления для распознавания (новой строки)  :) Все элементарно.
Выглядит все это вот так.

[вложение удалено Администратором]
*

eklmn

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #9 : 05.02.2010, 18:05:51 »
Joomla! 1.5.15
Community Builder 1.2.1
uddeIM 1.9
AdsManager 2.1.9 FE

Чтобы включить отправку личных сообщений (из описания объявления) с помощью uddeIM надо поправить файл adsmanager.html.php в корне компонента - строка
Код
echo '<a href="'.$pmsForm.'">'.$pmsText.'</a><br />';
заменить на
Код
echo '&nbsp||&nbsp<a href="index.php?option=com_uddeim&task=new&recip='.$row->userid.'">'.$pmsText.'</a><br />';
Работает нормально, но у меня сайт только формируется, поэтому насколько хорошо работает вся эта связка сказать не могу.
*

Nishtiak

  • Захожу иногда
  • 112
  • 3 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #10 : 07.02.2010, 19:23:07 »
Обновлю топик. Напишу как считать общее кол-во объявление в ГЛАВНОЙ (родительской) категории для каждого из столбца.

Условимся на том, что подсчет объяв с суб-категории у Вас уже сделан и работает корректно.
Важное замечание: даннй описанный метод имееть место быть правильным только в том случае если иерархия ваших категорий не превышает 2х уровней. Т.е.
1 уровень - Автомобили (# колво в родительской категории)
2 уровень ----- Легковые (# колво в субкатегории)
---------------------объявления
и т.д.

Итак, для того чтобы посчитать общее кол-во объяв в "родителе" вставляем вот такой вот нехитрый код в файле:
adsmanager.html.php ищем функцию recurseCategories, идем глазами ниже до <i><h2 class="adsmanager_main_cat"></i>
и вставляем как ниже написал:

Код: php
function recurseCategories( $id, $level, &$children,$itemid,$option) {
...
<?php foreach($children[$row->id] as $rowx) {
$kassx[] = $rowx->num_ads;
}
?>
<h2 class="adsmanager_main_cat"><a href="<?php echo $link; ?>"  ><?php echo $row->name; ?><?php echo '&nbsp;('.array_sum($kassx).')'; ?> </a>
<?php unset($kassx); ?>

Все, готово.
У меня не получилось! может подробнее что и куда вставить. У меня неприятность какая-то получилсь
*

eklmn

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #11 : 14.02.2010, 12:00:21 »
Adsmanager 2.5 RC2
Не могу вывести количество объявлений в категориях на главную страницу. Дело в том, что у меня нет подкатегорий, и считать объявления надо только в главных категориях - поэтому
Код
<?php foreach($children[$row->id] as $rowx) {
$kassx[] = $rowx->num_ads;
}
?>
Так посчитать не получается. Правильный код есть в модуле меню (mod_adsmanager_menu), но я не догоняю как его интегрировать в главную страницу объявлений (модуль я отключаю). Вернее, получается, но не совсем - в пустых категориях почему-то всегда стоит 1. Помогите, если есть возможность.
*

SnakeBite

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #12 : 18.02.2010, 18:58:27 »
У меня не получилось! может подробнее что и куда вставить. У меня неприятность какая-то получилсь
Тоже не получилось, кто нибуть объясните по подробней пожалуйста
*

Nishtiak

  • Захожу иногда
  • 112
  • 3 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #13 : 21.02.2010, 15:44:25 »
Обновлю топик. Напишу как считать общее кол-во объявление в ГЛАВНОЙ (родительской) категории для каждого из столбца.

Подскажите пожалуйста как eX сделал у него католичество объявлений в категориях и подкатегориях выделено другим цветом, т.е. просто другой стиль, а еще как поставить под категории в виде маркированного списка.
*

rxel

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #14 : 27.02.2010, 00:41:47 »
спасибо все работает на  2.5 RC2
*

Pashtetdiz

  • Захожу иногда
  • 175
  • 4 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #15 : 14.03.2010, 12:24:21 »
Обновлю топик. Напишу как считать общее кол-во объявление в ГЛАВНОЙ (родительской) категории для каждого из столбца.

Условимся на том, что подсчет объяв с суб-категории у Вас уже сделан и работает корректно.
Важное замечание: даннй описанный метод имееть место быть правильным только в том случае если иерархия ваших категорий не превышает 2х уровней. Т.е.
1 уровень - Автомобили (# колво в родительской категории)
2 уровень ----- Легковые (# колво в субкатегории)
---------------------объявления
и т.д.

Итак, для того чтобы посчитать общее кол-во объяв в "родителе" вставляем вот такой вот нехитрый код в файле:
adsmanager.html.php ищем функцию recurseCategories, идем глазами ниже до <i><h2 class="adsmanager_main_cat"></i>
и вставляем как ниже написал:

Код: php
function recurseCategories( $id, $level, &$children,$itemid,$option) {
...
<?php foreach($children[$row->id] as $rowx) {
$kassx[] = $rowx->num_ads;
}
?>
<h2 class="adsmanager_main_cat"><a href="<?php echo $link; ?>"  ><?php echo $row->name; ?><?php echo '&nbsp;('.array_sum($kassx).')'; ?> </a>
<?php unset($kassx); ?>

Все, готово.
Помогло на локальном сервере, а когда перенес на хостинг то все субкатегории стали равны общему количеству объявлений, а главная категория считает правильно но по данным субкатегорий, поэтому тоже получается неправильно.
В чем может быть ошибка подскажите пожалуйста
*

artrox

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #16 : 27.04.2010, 11:07:47 »
Ребята а как сделать чтобы в Adsmanager вместо категорий на главное странице был вывод всех объявлений сразу,то есть как они выводятся в категориях.


[вложение удалено Администратором]
*

worstinme

  • Захожу иногда
  • 82
  • 10 / 0
  • hawkeye 57 lvl.
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #17 : 29.04.2010, 12:47:28 »
Ребята а как сделать чтобы в Adsmanager вместо категорий на главное странице был вывод всех объявлений сразу,то есть как они выводятся в категориях.

очень долго мучался пытаясь сделать тоже самое на своем сайте , как оказалось сделать это не так сложно
результат можно просмотреть здесь  http://ntz-holding.ru/desk.html как там видно -  при открытии доски объявлений сразу выходит список всех объявлений (без первоначального выбора категорий..)



открываем файл adsmanager.php

ищем
Код
case 'show_all': {
$cache->call( 'show_all',$option,$expand,$text_search,$order,$limitstart);
    break;

заменяем на

Код
  default: {  
  $cache->call( 'show_all',$option,$expand,$text_search,$order,$limitstart);
break;

немного ниже ищем то что уже установлено default

Код
default: {
$cache->call('front',$option);
break;
либо стираешь
либо меняешь на
Код
case 'show_all': {
$cache->call('front',$option);
    break;

далее  у нас остается ненужная ссылка в "меню доски"   Все объявления поэтому убираем ее:
открываем adsmanager.html.php

ищем
 
Код
$link_show_rules = sefRelToAbs("index.php?option=$option&amp;page=show_rules&amp;Itemid=$itemid");
$link_show_all = sefRelToAbs("index.php?option=$option&amp;page=show_all&amp;Itemid=$itemid");
echo '<a href="'.$link_write_ad.'">'.ADSMANAGER_MENU_WRITE.'</a> | ';
echo '<a href="'.$link_show_all.'">'.ADSMANAGER_MENU_ALL_ADS.'</a> | ';
echo '<a href="'.$link_show_profile.'">'.ADSMANAGER_MENU_PROFILE.'</a> | ';
echo '<a href="'.$link_show_user.'">'.ADSMANAGER_MENU_USER_ADS.'</a> | ';
echo '<a href="'.$link_show_rules.'">'.ADSMANAGER_MENU_RULES.'</a>';

меняем на

Код
$link_show_rules = sefRelToAbs("index.php?option=$option&amp;page=show_rules&amp;Itemid=$itemid");
echo '<a href="'.$link_write_ad.'">'.ADSMANAGER_MENU_WRITE.'</a> | ';
echo '<a href="'.$link_show_profile.'">'.ADSMANAGER_MENU_PROFILE.'</a> | ';
echo '<a href="'.$link_show_user.'">'.ADSMANAGER_MENU_USER_ADS.'</a> | ';
echo '<a href="'.$link_show_rules.'">'.ADSMANAGER_MENU_RULES.'</a>';

кстати говоря полностью стирая
Код
case 'show_all': {
$cache->call('front',$option);
    break;
и убирая сссылку на "главную страницу " доски объявлений

сразу отпадает надобность в некотором количестве функций которые прибавляют вес сайту (так как неочень в этом разбераюсь не знаю насколько сильно наличие дополнительных пару функций усложняют сайт, но то что усложняют это точно), которые можно почистить из всего кода..
« Последнее редактирование: 29.04.2010, 12:54:55 от worstinme »
*

worstinme

  • Захожу иногда
  • 82
  • 10 / 0
  • hawkeye 57 lvl.
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #18 : 29.04.2010, 13:17:51 »
помогите решить проблему :

на сайте объявления отображаются в неверной кодировке , причем не полность.. на каждое объявление примерно 1-5 "кракозябр" так и не разобрался вместо каких символов именно ну вобщем на сркине видно

_http://clip2net.com/page/m0/5535333     

кодировка сайта utf-8
*

barbadui

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #19 : 04.05.2010, 09:47:22 »
Adsmanager 2.5 RC2
Не могу вывести количество объявлений в категориях на главную страницу. Дело в том, что у меня нет подкатегорий, и считать объявления надо только в главных категориях - поэтому
Код
<?php foreach($children[$row->id] as $rowx) {
$kassx[] = $rowx->num_ads;
}
?>
Так посчитать не получается. Правильный код есть в модуле меню (mod_adsmanager_menu), но я не догоняю как его интегрировать в главную страницу объявлений (модуль я отключаю). Вернее, получается, но не совсем - в пустых категориях почему-то всегда стоит 1.
Скажи как сделать хотя-бы так
*

Pashtetdiz

  • Захожу иногда
  • 175
  • 4 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #20 : 07.05.2010, 09:25:14 »
Все сделал как написано выше и в локальном режиме все работало, но как перенес на хостинг, подсчет объявлений в под категориях стал неверным. Теперь в каждой субкатегории одинаковое значение. В чем может быть дело? помогите кто-нибудь пожалуйста !
*

Pashtetdiz

  • Захожу иногда
  • 175
  • 4 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #21 : 07.05.2010, 09:26:18 »
Вот мой Код в adsmanager.html.php
Цитировать
<h3 class="adsmanager_sub_cat" align="left" style="margin-left:20px;">
               <?php
            }
            else
            {
               if ($first == false)
                  
                  echo '<br>';
                  echo ' - ';
               echo '<a href="'.$link.'">'.$row->name. " (". $row->num_ads . ")" . '</a>';
               // кол-во объявлений
               if ($row->num_ads > 0) {
                  
               }
               
               //
               
               $first = false;
            }
            if ($level == 0)
            {
               adsmanager_html::recurseCategories( $row->id, $level+1, $children,$itemid,$option);
            }
            if ($level == 0)
            {
               ?>
               </h3>
В adsmanager.php все поменял как написал eX
« Последнее редактирование: 07.05.2010, 09:41:47 от Pashtetdiz »
*

cycleuzb

  • Захожу иногда
  • 58
  • 2 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #22 : 10.05.2010, 20:03:42 »
Вот мой Код в adsmanager.html.phpВ adsmanager.php все поменял как написал eX

Что то он не полный этот файл
*

cycleuzb

  • Захожу иногда
  • 58
  • 2 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #23 : 10.05.2010, 20:04:30 »
У кого есть полный модифицированный файлик adsmanager.html
*

barbadui

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #24 : 11.05.2010, 10:37:07 »
чет я торможу как сюда файл выложить, вот мой рабочий http://slil.ru/29111617
*

saidrustam

  • Захожу иногда
  • 100
  • 7 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #25 : 13.05.2010, 10:28:39 »
в Админчасти никак несмог перевести формат даты на: дд.мм.гг.
пришлось написать в admin.adsmanager.html.php

Код
function MySQL2date($date)
{
   $tmp=explode("-", $date);
   echo $tmp[2]."-".$tmp[1]."-".$tmp[0];
}

и где в коде(555ые строчки) выводит дату:
Код
<?php echo $row->date_created; ?>
Код
<?php echo $row->expiration_date; ?>

 тама надо использовать:
Код
<?php HTML_adsmanager::MySQL2date($row->date_created); ?>
Код
<?php HTML_adsmanager::MySQL2date($row->expiration_date); ?>
*

girlwolf

  • Захожу иногда
  • 126
  • 3 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #27 : 24.05.2010, 23:05:13 »
У меня выводится возле категорий почему-то не количество объявлений, а количество подкатегорий...
Подскажите, пожалуйста, что не так я могла сделать?
Спасибо.
*

norpe3s

  • Осваиваюсь на форуме
  • 40
  • 1 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #28 : 06.08.2010, 19:53:32 »
вообщем у меня ничего не работало правильно... особенно важно было считать в родительской категории без субкатегорий.
изменения чайниковые, почти все уже известные здесь... кое что моё...  но работает.. по крайне мере у меня...
1. считает кол-во в субкатегориях (правильно показывает 0)
2. считает кол-во в род. категории и в субкатегориях суммарно (правильно показывает 0)
3. считает кол-во в род. категории даже если нет субкатегорий. (тут нюансы для профи, остальным просто работает и всё!)
правильно показывает 0 = это значит не нужно набить абъявок, чтобы считало правильно.
вот файлы версия 2.5.2 rc2
www.norpe3s.info/sharedfiles/v252rc2.rar


изменения:
в adsmanager.php
Код
function getCatTree(&$tree) {
global $database;

/*$database->setQuery( "SELECT c.id, c.name, c.parent, ".
" (select count(*) ".
"  from #__adsmanager_ads a ".
"  where a.category = c.id ".
"    and a.published = 1 ".
" ) as num_ads ".
"FROM #__adsmanager_categories as c ".
"WHERE c.published = 1 ORDER BY c.parent,c.ordering");*/
//echo $query;

меняем на вот это:
Код
function getCatTree(&$tree) {
global $database;

/////////////////показать количество объявлений в подкатегории//////////////////////////////////////////////////////////////////////////////////////


$query =  "SELECT c.*, count(a.id) as num_ads,a.id as not_empty ".
"FROM #__adsmanager_ads as a ".
"LEFT JOIN #__adsmanager_adcat as adcat ON a.id = adcat.adid ".
"RIGHT JOIN #__adsmanager_categories as c ON adcat.catid = c.id ".
"WHERE c.published = 1 ".
"GROUP BY c.id ".
"ORDER BY c.parent,c.ordering";

/////////////////показать количество объявлений в подкатегории//////////////////////////////////////////////////////////////////////////////////////



//echo $query;

теперь в adsmanager.html.php

Код
<h3 class="adsmanager_sub_cat">
<?php
}
else
{
if ($first == false)
echo ' - ';
echo '<a href="'.$link.'">'.$row->name.'</a>';
$first = false;
}
if ($level == 0)
{
adsmanager_html::recurseCategories( $row->id, $level+1, $children,$itemid,$option);
}
if ($level == 0)
{
?>
</h3>

меняем на
Код
<small>
<?php
}
else
{
if ($first == false)
echo ' <br> ';
echo ' - ';
echo '<a href="'.$link.'">'  .$row->name. ' </a>('.$row->num_ads.')';
$first = false;
}
if ($level == 0)
{
adsmanager_html::recurseCategories( $row->id, $level+1, $children,$itemid,$option);
}
if ($level == 0)
{
?>
</small>

и ещё в этом же файле вот здесь:
Код
<h2 class="adsmanager_main_cat"><a href="<?php echo $link; ?>"  ><?php echo $row->name; ?></a></h2>

меняем на это
Код
<?php	ini_set('display_errors', 0); ?>


<?php foreach($children[$row->id] as $rowx) {
$kassx[] = $rowx->num_ads;
}
$summall = $row->num_ads + array_sum($kassx);
?>

<?php ini_set('display_errors', 1); ?>

<?php echo '<a href="'.$link.'">'  .$row->name. ' </a>('.$summall.')<br>'; ?>
<?php unset($kassx);
$summall = 0;
 ?>
*

norpe3s

  • Осваиваюсь на форуме
  • 40
  • 1 / 0
Re: Хаки Adsmanager 2.5 (в заметки каждому)
« Ответ #29 : 06.08.2010, 20:22:43 »

2. Изменяем формат выводимой даты
По умолчанию авторы локализации на русский язык оставили форматирование даты по виду 07-06-2009. Чтобы гражданам РФ было приятней читать и привычней поменяем его на стандарт.

Для этого открываем файл lang_russian.php и ищем строку
Код
DEFINE('ADSMANAGER_DATE_FORMAT_LC',"%d-%m-%Y");

и меняем ее на
Код
DEFINE('ADSMANAGER_DATE_FORMAT_LC',"%d.%m.%Y");

Хочу отметить, что форматировать дату можно по разному. О стандартах можно прочитать по урлу:
http://ru.php.net/manual/ru/function.date.php


Продолженеи следует..

стандарты для Joomla не совсем то и подходят

кто хочет дату такого вида 06 Авг. 2010 , то в ленг файле:
замените DEFINE('ADSMANAGER_DATE_FORMAT_LC.... на:
Код
DEFINE('ADSMANAGER_DATE_FORMAT_LC',"%d %b. %Y");

если так 06 Август 2010
Код
DEFINE('ADSMANAGER_DATE_FORMAT_LC',"%d %B %Y");

чтобы было если так 06 Августа 2010
Код
DEFINE('ADSMANAGER_DATE_FORMAT_LC',"%d %B %Y");
+ в ленг файле уже самой Joomla ru_ru.ini
в самов вверху месяца, там менять август на августа
« Последнее редактирование: 07.08.2010, 13:34:38 от norpe3s »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 8983
Последний ответ 27.03.2020, 22:39:23
от Pavel
Два компонента AdsManager в одном движке

Автор kaman62

Ответов: 12
Просмотров: 24053
Последний ответ 27.03.2020, 22:32:04
от Pavel
Onlinestatus CB в AdsManager

Автор Den JW

Ответов: 1
Просмотров: 6734
Последний ответ 17.02.2020, 23:37:52
от Den JW
Хочу уточнить, есть в AdsManager возможность загрузки объявлений с парсера?

Автор DomBeri

Ответов: 3
Просмотров: 5386
Последний ответ 28.03.2019, 17:20:10
от DomBeri
Изменить категории в AdsManager 3.1.5

Автор Doc

Ответов: 2
Просмотров: 5829
Последний ответ 17.03.2019, 21:17:30
от Doc