Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Плагин WP-Shop для Word-Press, Помогите изменить
SacredSinner  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 1
Пользователь №: 43432
На форуме: 7 месяцев, 25 дней
Карма:




Доброго дня всем!
Существует плагин для WP под названием WP-Shop для создания интернет-магазина. Вопрос, наверное, поймут только те, кто имел с ним дело.
Так вот. Товары в нем забиваются как записи. У записей есть доп. поля. Для обозначения модификаций товара и цен на них используются поля name_N и cost_N, где N - номер поля от 1 и до... (не знаю до скольки))).
Так вот, есть там функция вывода этих товаров на витрину. Дело в том, что на витрину выводятся все модификации и цены, а нужно выводить лишь только name_1 и cost_1. То есть работает какой-то цикл, который перебирает массив. А мне бы от цикла избавиться и выводить только первые элеменыты. Я вот ни разу не программист и своими силами мне это победить не удалось.
Насколько я понял, функция вывода этих данных такая:
public function GetGoodWidget($post = null, $class = "", array $columns = array('name'=>true,'cost'=>true))
{
if ($post == null)
{
global $post;
}
$cost = false;
$cost0 = array();
$name0 = array();
$sklad0 = array();
$sklad = array();
$count0 = array();
$count = array();
$meta = get_post_custom($post->ID);
$sort_type = get_option('wpshop.sort_price');
$price_trim = get_option('wpshop.price_trim');
//Properties of good
//$meta_properties = '';
if($meta){
foreach ($meta as $key => $val)
{
if ( preg_match('/^cost_(\d+)/i', $key, $m) )
{
$cost0[$m[1]] = $val[0];
}
if ( preg_match('/^name_(\d+)/i', $key, $m) )
{
$name0[$m[1]] = $val[0];
}
if ( preg_match('/^sklad_(\d+)/i', $key, $m) )
{
$sklad0[$m[1]] = $val[0];
}
if ( preg_match('/^count_(\d+)/i', $key, $m) )
{
$count0[$m[1]] = $val[0];
}
}}

if (count($cost0) > 1){
$cost = array();
ksort($cost0);
foreach ($cost0 as $key => $val1){
if (isset($name0[$key])){
$val = $name0[$key];
}else{
$val = $key;
}
if($price_trim) {
$cost[$val] = round($cost0[$key],2);
}else {
$cost[$val] = $cost0[$key];
}

if (isset($sklad0[$key])){
$sklad[$val] = $sklad0[$key];
}

if (isset($count0[$key])){
$count[$val] = $count0[$key];
}
}

if ($sort_type==1){
asort($cost);
}
if ($sort_type==2){
arsort($cost);
}
}else if(count($cost0) > 0) {
$cost = array();
ksort($cost0);
foreach ($cost0 as $key => $val1){
if (isset($name0[$key])){
$val = $name0[$key];
}else{
$val = '';
}
if($price_trim) {
$cost[$val] = round($cost0[$key],2);
}else {
$cost[$val] = $cost0[$key];
}

if (isset($sklad0[$key])){
$sklad[$val] = $sklad0[$key];
}

if (isset($count0[$key])){
$count[$val] = $count0[$key];
}
}
}

if ($cost)
{
if ($sort_type==1){
asort($cost);
}
if ($sort_type==2){
arsort($cost);
}
ob_start();
$this->view->class = $class;
$this->view->cost = $cost;
$this->view->sklad = $sklad;
$this->view->count = $count;
$this->view->columns = $columns;
$this->view->post = $post;
$this->view->render("good.widget.inc.php");
return ob_get_clean();
}
return "";
}

Может кто-то мне подскажет что тут надо подправить? Не пинайте сильно, очень надо. Если нужны еще какие-то данные, с удовольствием предоставлю. Премного благодарен.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса