Jump to content

Recommended Posts

Всем привет.

 

Решил сделать краткие описания товаров автоматическими используя при этом информацию их характеристик, категорий и брендов.

 

На данный момент у меня в характеристиках к товару имеется к примеру: "цвет - черный", в описании мне необходимо произвести склонение данного свойства чтобы было черный = черная и т.п.

Подскажите пожалуйста как это правильно реализовать и написать на Smarty??? 

Если у кого-то есть какие-то идеи касательно автоматического краткого описания пишите суда.

 

Спасибо..

Link to post
Share on other sites

Может как то по аналогии. 

 

Найдено в интернете: 

 

Нужно сохранить код приведенный ниже в файл function.decliner.php в каталоге с плагинами Smarty

<?php
/**
 * Smarty {decliner} function plugin
 *
 * Type:     function<br>
 * Name:     decliner<br>
 * Purpose:  handle word declines based on quantity number<br>
 * @param array $params
 * <pre>
 * Params:  qty: number of items to choose correct declining form
 *          word: declining forms of word. Ex: день, дня, дней.
 * </pre>
 * @param Smarty
 * @return string
 */
function smarty_function_decliner($params, &$smarty)
{
    // be sure equation parameter is present
    if (empty($params['qty']))
	$params['qty']=0;
    if (empty ($params['word'])) {
        $smarty->trigger_error("decliner: missing required parameter");
        return;
    }
    $forms=explode(',',$params['word']);
    $params['qty'] = abs($params['qty']) % 100;
    $n1 = $params['qty'] % 10;
    if ( $params['qty'] > 10 &&  $params['qty'] < 20) return $forms[2];
    else if ($n1 > 1 && $n1 < 5) return $forms[1];
    else if ($n1 == 1) return $forms[0];
    return $forms[2];

}

/* vim: set expandtab: */

?>

Затем в шаблонах можно использовать вот так.

{decliner qty=4 word='письма, письма, писем'}

 

Link to post
Share on other sites

Определить форму склонения на ходу вряд ли удастся. Словари объемные подключать - нелегкое решение. Особенно если встречается цвет "мокрый асфальт" или "морская волна"...

 

Можно значения свойств вводить в разных видах по падежам. Тогда вывод будет совсем несложный. Но в админке работы больше будет. И с экспортом-импортом повозиться...

Link to post
Share on other sites

Если на странице товара будет вывод пары десятка свойств, это решение даст дополнительно пару десятков запросов к базе. Надо этот момент как-то оптимизировать...

 

Во вторых, ТС просил
 

...имеется к примеру: "цвет - черный", в описании мне необходимо произвести склонение данного свойства чтобы было черный = черная и т.п.

 

То есть речь не о склонении по падежам, а еще и род надо менять...

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...