Два исправления для плагина Pokupalka (версия под ls 0.4.2)
1. Исправляет не верный подсчет кол-ва объявлений в категориях.
Товар был добавлен в категорию «Компьютерная техника» в кол-ве одна штука.
Предыстория проблемы была описана тут: livestreet.ru/blog/addons/7073.html#comment118191
В файле /plugins/pokupalka/classes/modules/pokupalka/Pokupalka.class.php
функцию
public function getCategoryChildren($sCategory, $aCategories=null) {
if($aCategories == null) {
$aCategories = $this -> getCategories(Config::Get('plugin.pokupalka.goods.types'));
}
$depth = 0;
$found = false;
$aResult = array();
for($i = 0; $i < count($aCategories); $i++) {
if($found and intval($aCategories[$i]['Level']) <= $depth) {
return $aResult;
}
if($found==true) {
$aResult[] = $aCategories[$i]['Item'];
}
if($aCategories[$i]['Item'] == $sCategory) {
$found = true;
$aResult[] = $sCategory;
if($aCategories[$i]['haschildren'] == 0) {
return $aResult;
}
}
}
return $aResult;
}
Заменяем на этот код
public function getCategoryChildren($sCategory, $aCategories=null) {
if($aCategories == null) {
$aCategories = $this -> getCategories(Config::Get('plugin.pokupalka.goods.types'));
}
$depth = 0;
$found = false;
$aResult = array();
for($i = 0; $i < count($aCategories); $i++) {
if($found and intval($aCategories[$i]['Level']) <= $depth) {
return $aResult;
}
if($found==true and $aCategories[$i]['Level']>$found_Level) {
$aResult[] = $aCategories[$i]['Item'];
}
else
$found=false;
if($aCategories[$i]['Item'] == $sCategory) {
$found = true;
$found_Level = intval($aCategories[$i]['Level']);
$aResult[] = $sCategory;
if($aCategories[$i]['haschildren'] == 0) {
return $aResult;
}
}
}
return $aResult;
}
2. Исправляет то что название валюты при выводе объявлений (одиночно или списком) не бралось из языкового файла.
В файле /plugins/pokupalka/classes/modules/pokupalka/entity/Pokupalka.entity.class.phpфункцию
public function getCurrency() {
return $this -> _aData['goods_currency'];
}
Заменяем на этот код
public function getCurrency() {
$currency_ = $this -> _aData['goods_currency'];
$currency_list_lang = $this->Lang_Get('pokupalka_currency_list');
foreach (Config::Get('plugin.pokupalka.currencylist') as $oCurrency)
{
if ($oCurrency==$this -> _aData['goods_currency'])
{
$currency_ = $currency_list_lang[$oCurrency];
break;
}
}
return $currency_;
}
Имхо было бы не плохо внести эти фиксы в дистрибутив плагина Pokupalka. ;)
Выражаю огромное спасибо автору linkevich плагина Pokupalka (доска объявлений) за отличный плагин!
9 комментариев
второй баг правильнее править на уровне шаблона — это я уже исправил.
что касается первого, то я к сожалению, пока не смог добиться такого глюка, как у тебя, но еще попробую.
Завтра вечером выложу обновленный плагин.
В плагине при написании обьявления висит кнопка «Загрузить». Все работает, поля заполнения и т.п. Но почему то загрузить картинку нет возможности, висит только кнопка и пустое поле после Добавить изображение. Ничего нет между ними ни строк ничего… Почему так?