Новости Joomla

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

DrMartens

  • Захожу иногда
  • 99
  • 0 / 0
Добавил новое текстовое поле "Дата поступления". формат такой дд.мм.гггг.
Не подскажете как сделать сортировку товаров по этому полю?
*

vtx

  • Захожу иногда
  • 221
  • 19 / 0
Re: Новое поле+сортировка по нему
« Ответ #1 : 20.08.2011, 15:16:29 »
сделать то можно, но зачем дублировать стандартный функционал?
*

vtx

  • Захожу иногда
  • 221
  • 19 / 0
Re: Новое поле+сортировка по нему
« Ответ #2 : 20.08.2011, 15:38:24 »
у меня поле "код сортировки"

1) administrator\components\com_virtuemart\virtuemart.cfg.php (но будет работать пока не нажмете кнопку сохранить в админке, поэтому смотрим и меняем ps_config.php)
Код
/* OrderByFields */
global $VM_BROWSE_ORDERBY_FIELDS;
$VM_BROWSE_ORDERBY_FIELDS = array( 'product_name','product_price','product_sku','product_cod_sortirovki' );
2)admin.show_cfg.php
смотрим и добавляем аналог
Код
        <td class="labelcell"><?php echo $VM_LANG->_('VM_BROWSE_ORDERBY_DEFAULT_FIELD_LBL')?></td>
        <td>
                <select class="inputbox" name="conf_VM_BROWSE_ORDERBY_FIELD">
                        <option value="product_list" <?php if (@VM_BROWSE_ORDERBY_FIELD == 'product_list') echo "selected=\"selected\""; ?>><?php echo $VM_LANG->_('PHPSHOP_DEFAULT')?></option>
                        <option value="product_name" <?php if (@VM_BROWSE_ORDERBY_FIELD == 'product_name') echo "selected=\"selected\""; ?>><?php echo $VM_LANG->_('PHPSHOP_PRODUCT_NAME_TITLE')?></option>
                        <option value="product_price" <?php if (@VM_BROWSE_ORDERBY_FIELD == 'product_price') echo "selected=\"selected\""; ?>><?php echo $VM_LANG->_('PHPSHOP_PRODUCT_PRICE_TITLE')?></option>
                        <option value="product_sku" <?php if (@VM_BROWSE_ORDERBY_FIELD == 'product_sku') echo "selected=\"selected\""; ?>><?php echo $VM_LANG->_('PHPSHOP_CART_SKU')?></option>
                        <option value="product_cdate" <?php if (@VM_BROWSE_ORDERBY_FIELD == 'product_cdate') echo "selected=\"selected\""; ?>><?php echo $VM_LANG->_('PHPSHOP_LATEST')?></option>
                        <option value="product_cod_sortirovki" <?php if (@VM_BROWSE_ORDERBY_FIELD == 'product_cod_cortirovki') echo "selected=\"selected\""; ?>><?php echo $VM_LANG->_('PHPSHOP_PRODUCT_COD_SORTIROVKI')?></option>
           
            </select>
        </td>
        <td><?php echo vmToolTip( $VM_LANG->_('VM_BROWSE_ORDERBY_DEFAULT_FIELD_LBL_TIP') )?></td>
    </tr>
    <tr>
        <td class="labelcell"><?php echo $VM_LANG->_('VM_BROWSE_ORDERBY_FIELDS_LBL')?></td>
        <td>
                        <input name="conf_VM_BROWSE_ORDERBY_FIELDS[]" type="checkbox" value="product_list" <?php if (in_array( 'product_list', $VM_BROWSE_ORDERBY_FIELDS )) echo "checked=\"checked\""; ?> id="conf_VM_BROWSE_ORDERBY_FIELDS0" />
                        <label for="conf_VM_BROWSE_ORDERBY_FIELDS0"><?php echo $VM_LANG->_('PHPSHOP_DEFAULT');?></label><br />

                        <input name="conf_VM_BROWSE_ORDERBY_FIELDS[]" type="checkbox" value="product_name" <?php if (in_array( 'product_name', $VM_BROWSE_ORDERBY_FIELDS )) echo "checked=\"checked\""; ?> id="conf_VM_BROWSE_ORDERBY_FIELDS1" />
                        <label for="conf_VM_BROWSE_ORDERBY_FIELDS1"><?php echo $VM_LANG->_('PHPSHOP_PRODUCT_NAME_TITLE')?></label><br />
           
                        <input name="conf_VM_BROWSE_ORDERBY_FIELDS[]" type="checkbox" value="product_price" <?php if (in_array( 'product_price', $VM_BROWSE_ORDERBY_FIELDS )) echo "checked=\"checked\""; ?> id="conf_VM_BROWSE_ORDERBY_FIELDS2" />
                        <label for="conf_VM_BROWSE_ORDERBY_FIELDS2"><?php echo $VM_LANG->_('PHPSHOP_PRODUCT_PRICE_TITLE')?></label><br />

                        <input name="conf_VM_BROWSE_ORDERBY_FIELDS[]" type="checkbox" value="product_cdate" <?php if (in_array( 'product_cdate', $VM_BROWSE_ORDERBY_FIELDS )) echo "checked=\"checked\""; ?> id="conf_VM_BROWSE_ORDERBY_FIELDS3" />
                        <label for="conf_VM_BROWSE_ORDERBY_FIELDS3"><?php echo $VM_LANG->_('PHPSHOP_LATEST')?></label><br />

                        <input name="conf_VM_BROWSE_ORDERBY_FIELDS[]" type="checkbox" value="product_sku" <?php if (in_array( 'product_sku', $VM_BROWSE_ORDERBY_FIELDS )) echo "checked=\"checked\""; ?> id="conf_VM_BROWSE_ORDERBY_FIELDS4" />
                        <label for="conf_VM_BROWSE_ORDERBY_FIELDS4"><?php echo $VM_LANG->_('PHPSHOP_CART_SKU')?></label><br />
                       
                        <input name="conf_VM_BROWSE_ORDERBY_FIELDS[]" type="checkbox" value="product_cod_sortirovki" <?php if (in_array( 'product_cod_sortirovki', $VM_BROWSE_ORDERBY_FIELDS )) echo "checked=\"checked\""; ?> id="conf_VM_BROWSE_ORDERBY_FIELDS4" />
                        <label for="conf_VM_BROWSE_ORDERBY_FIELDS4"><?php echo $VM_LANG->_('PHPSHOP_PRODUCT_COD_SORTIROVKI')?></label>
                       
        </td>
        <td><?php echo vmToolTip( $VM_LANG->_('VM_BROWSE_ORDERBY_FIELDS_LBL_TIP') )?></td>
    </tr>

3) в языковой файл добавляем
Код
    'PHPSHOP_PRODUCT_COD_SORTIROVKI' => 'Код сортировки',
4) browse_orderbyfields.tpl.php привожу полностью:
Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>


<?php echo $VM_LANG->_('PHPSHOP_ORDERBY')?>:
<select class="inputbox" name="orderby" onchange="order.submit()">
<option value="product_name" ><?php echo $VM_LANG->_('PHPSHOP_SELECT')?></option>
<?php
//SORT BY COD SORTIROVKI
if( in_array( 'product_cod_sortirovki', $VM_BROWSE_ORDERBY_FIELDS)) { ?>
        <option value="product_cod_sortirovki" <?php echo $orderby=="product_cod_sortirovki" ? "selected=\"selected\"" : "";?>>
        <?php echo 'Код сортировки' ?></option>
        <?php
}
// SORT BY PRODUCT NAME
if( in_array( 'product_name', $VM_BROWSE_ORDERBY_FIELDS)) { ?>
        <option value="product_name" <?php echo $orderby=="product_name" ? "selected=\"selected\"" : "";?>>
        <?php echo $VM_LANG->_('PHPSHOP_PRODUCT_NAME_TITLE')?></option>
<?php
}
// SORT BY PRODUCT SKU
if( in_array( 'product_sku', $VM_BROWSE_ORDERBY_FIELDS)) { ?>
        <option value="product_sku" <?php echo $orderby=="product_sku" ? "selected=\"selected\"" : "";?>>
        <?php echo $VM_LANG->_('PHPSHOP_CART_SKU')?></option>
        <?php
}
// SORT BY PRODUCT PRICE
  if (_SHOW_PRICES == '1' && $auth['show_prices'] && in_array( 'product_price', $VM_BROWSE_ORDERBY_FIELDS)) { ?>
                <option value="product_price" <?php echo $orderby=="product_price" ? "selected=\"selected\"" : "";?>>
        <?php echo $VM_LANG->_('PHPSHOP_PRODUCT_PRICE_TITLE')?></option>
        <?php
  }
  // SORT BY PRODUCT CREATION DATE
if( in_array( 'product_cdate', $VM_BROWSE_ORDERBY_FIELDS)) { ?>
        <option value="product_cdate" <?php echo $orderby=="product_cdate" ? "selected=\"selected\"" : "";?>>
        <?php echo $VM_LANG->_('PHPSHOP_LATEST')?></option>
        <?php
}


?>
</select>


*

DrMartens

  • Захожу иногда
  • 99
  • 0 / 0
Re: Новое поле+сортировка по нему
« Ответ #3 : 29.08.2011, 17:10:06 »
нет, ну это понятно. но сортировать нужно не по дате добавления материала. а по другой дате - поступления на склад/печати. по этому стандартный функцыонал не помогает. воть так.

новое поле сортировки добавил. но поле забивалось текстом с датой, а теперь еще нужно по нему сортировать, формат поля varchar, изменил на date, но теперь не сходится по фрматах. дд.мм.гггг, а в date - гггг-мм-дд.
вот как можно это все перевести в нужный формат?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сортировка товаров по дате поступления

Автор coob

Ответов: 2
Просмотров: 2652
Последний ответ 21.06.2018, 08:40:05
от kungurskiy
Сортировка товаров категории по алфавиту

Автор atlet

Ответов: 5
Просмотров: 2174
Последний ответ 20.11.2015, 18:33:50
от atlet
Свое поле ввода количества для свойств товара

Автор Batyabest

Ответов: 5
Просмотров: 1604
Последний ответ 12.12.2013, 17:28:41
от Batyabest
Сортировка в админке по производителю. РЕШЕНО

Автор igoryk

Ответов: 4
Просмотров: 2326
Последний ответ 20.10.2013, 17:07:26
от AnatolyW
специальный хак на виртуалмарт (благодаря нему можно в доп атрибуты добавлять чекбоксы, кнопки радио, различные поля и.т.д.)

Автор l0ki88

Ответов: 57
Просмотров: 37417
Последний ответ 01.10.2013, 19:21:25
от B3ACOC