jonny008
-
Публикаций
143 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные jonny008
-
-
Может как то по аналогии.
Найдено в интернете:
Нужно сохранить код приведенный ниже в файл 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='письма, письма, писем'}
-
Может у вас в условии стоит ==0
Нужно чтобы было {if $product->variants|count > 0}
-
Тема закрыта. Большое спасибо Mishanya
-
Супер специалист. ЗА символическую плату сделал доп модуль. Благодарность и уважение! Всем рекомендую.
-
1 файл или нужно множество?
одного будет достаточно.
-
Добрый день! Сколько будет стоить добавить функцию прикрепления файла (например PDF) в личном кабинете пользователя?
-
а вы добавили поле телефон в функцию выборки одного пользователя get_user() в api/users.php ?
Спасибо огромное! Всё заработало.
-
Странно, телефон отображается только в админке в шаблоне users.tpl. В нем переменная находится {$user->phone|escape} в {foreach $users as $user}.
-
Не подскажите как сделать сортировку по товарам в админке у которых нет изображений?
-
$group_id = $this->request->post('group_id','integer'); if($group_id==1) { $default_status = 1; } elseif($group_id==2) { $default_status = 0; }
Работает!
Огромное ВАМ человеческое спасибо!
-
Сделать проверку if ... else
Сделаете?
Цена вопроса?
-
Подскажите пожалуйста,
Как сделать условие если при регистрации человек указал группу 1 - учетная запись активна ($default_status = 1;)
Если указал группу 2 - учетная запись неактивна ($default_status = 0;)
-
эх, а есть еще варианты перебосы на страницу mickt
В файле: View/RegisterView.php
header('Location: '.$this->config->root_url);
Поменять на:
header('Location: http://site.ru/good-register');
-
Если заказ удален, то клиент все равно может его удалить.
Не подскажите как сделать двойное условие?
-
заберите тут доллар перед форич, я не увидел {$foreach $groups as $g}
чтобы было так {foreach $groups as $g}
Огромное спасибо!
Я блин тоже не заметил)))
-
теперь покажите что у вас пишет в register.tpl
Сам код register.tpl
{* Страница регистрации *} {* Канонический адрес страницы *} {$canonical="/user/register" scope=parent} {$meta_title = "Регистрация" scope=parent} <h1>Регистрация</h1> {if $error} <div class="message_error"> {if $error == 'empty_name'}Введите имя {elseif $error == 'empty_email'}Введите email {elseif $error == 'empty_password'}Введите пароль {elseif $error == 'user_exists'}Пользователь с таким email уже зарегистрирован {elseif $error == 'captcha'}Неверно введена капча {else}{$error}{/if} </div> {/if} <form class="form register_form" method="post"> <label>Имя</label> <input type="text" name="name" data-format=".+" data-notice="Введите имя" value="{$name|escape}" maxlength="255" /> <label>Email</label> <input type="text" name="email" data-format="email" data-notice="Введите email" value="{$email|escape}" maxlength="255" /> <label>Пароль</label> <input type="password" name="password" data-format=".+" data-notice="Введите пароль" value="" /> <label>Статус</label> {if $groups} <select name="group_id"> {$foreach $groups as $g} <option value="{$g->id}">{$g->name}</option> {/foreach} </select> {/if} <div class="captcha"><img src="captcha/image.php?{math equation='rand(10,10000)'}"/></div> <input class="input_captcha" id="comment_captcha" type="text" name="captcha_code" value="" data-format="\d\d\d\d" data-notice="Введите капчу"/> <input type="submit" class="button" name="register" value="Зарегистрироваться"> </form>
При переходе по ссылке /user/register выдает
Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template "/var/www/html/register.tpl" on line 35 "{$foreach $groups as $g}" - Unexpected " as ", expected one of: "}" , " "' in /var/www/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php:431 Stack trace: #0 /var/www/Smarty/libs/sysplugins/smarty_internal_templateparser.php(2855): Smarty_Internal_TemplateCompilerBase->trigger_template_error() #1 /var/www/Smarty/libs/sysplugins/smarty_internal_templateparser.php(2920): Smarty_Internal_Templateparser->yy_syntax_error(29, ' as ') #2 /var/www/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php(51): Smarty_Internal_Templateparser->doParse(29, ' as ') #3 /var/www/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php(82): Smarty_Internal_SmartyTemplateCompiler->doCompile(' in /var/www/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 431
-
а замените:
$this->smarty->assign('groups', '$groups');
на
$this->design->assign('groups', '$groups');
Менял, после этого пишет ошибку:
Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template "/var/www//html/register.tpl" on line 35 "{$foreach $groups as $g}" - Unexpected " as ", expected one of: "}" , " "' in
-
а вы выбрали все группы?
$groups = $this->users->get_groups();
приведите весь код файла
Пожалуйста
<?PHP require_once('View.php'); class RegisterView extends View { function fetch() { $default_status = 0; // Активен ли пользователь сразу после регистрации (0 или 1) //выбираем все группы пользователей $groups = $this->users->get_groups(); //передаем их в шаблон $this->smarty->assign('groups', $groups); if($this->request->method('post') && $this->request->post('register')) { $group_id = $this->request->post('group_id'); $name = $this->request->post('name'); $email = $this->request->post('email'); $password = $this->request->post('password'); $captcha_code = $this->request->post('captcha_code'); $this->design->assign('name', $name); $this->design->assign('email', $email); $this->db->query('SELECT count(*) as count FROM __users WHERE email=?', $email); $user_exists = $this->db->result('count'); if($user_exists) $this->design->assign('error', 'user_exists'); elseif(empty($name)) $this->design->assign('error', 'empty_name'); elseif(empty($email)) $this->design->assign('error', 'empty_email'); elseif(empty($password)) $this->design->assign('error', 'empty_password'); elseif(empty($_SESSION['captcha_code']) || $_SESSION['captcha_code'] != $captcha_code || empty($captcha_code)) { $this->design->assign('error', 'captcha'); } elseif($user_id = $this->users->add_user(array('name'=>$name, 'email'=>$email, 'group_id'=>$group_id, 'password'=>$password, 'enabled'=>$default_status, 'last_ip'=>$_SERVER['REMOTE_ADDR']))) { $_SESSION['user_id'] = $user_id; if(!empty($_SESSION['last_visited_page'])) header('Location: '.$_SESSION['last_visited_page']); else header('Location: '.$this->config->root_url); } else $this->design->assign('error', 'unknown error'); } return $this->design->fetch('register.tpl'); } }
-
у view/RegisterView.php после $default_status = 0; пишем
//выбираем все группы пользователей $groups = $this->users->get_groups(); //передаем их в шаблон $this->smarty->assign('groups', $groups);
дальше в этом же файле в обработчике пост запроса на регистрацию находим
if($this->request->method('post') && $this->request->post('register'))
и после добавляем
$group_id = $this->request->post('group_id','integer');
там же находим
elseif($user_id = $this->users->add_user(array('name'=>$name, 'email'=>$email, 'password'=>$password, 'enabled'=>$default_status, 'last_ip'=>$_SERVER['REMOTE_ADDR'])))
меняем на:
elseif($user_id = $this->users->add_user(array('name'=>$name, 'email'=>$email, 'group_id'=>$group_id, 'password'=>$password, 'enabled'=>$default_status, 'last_ip'=>$_SERVER['REMOTE_ADDR'])))
затем заходим в design/theme/register.tpl и там после
<label>Пароль</label> <input type="password" name="password" data-format=".+" data-notice="Введите пароль" value="" />
пишем
{if $groups} <select name="group_id"> {$foreach $groups as $g} <option value="{$g->id}">{$g->name}</option> {/foreach} </select> {/if}
Беда(
Не хочет работать.
Fatal error: Call to a member function assign() on a non-object in /var/www/view/RegisterView.php on line 15
Ругается на $this->smarty->assign('groups', $groups);
-
Добрый день!
Приобрел модуль "Индивидуальные цены для товара".
Всё работает отлично, но никак не получается вывести вторую цену из CRM Мой Склад.
В файле XML есть идентификатор типа цены:
<ТипыЦен> <ТипЦены> <Ид>cbcf493b-55bc-11d9-848a-00112f43529a</Ид> <Наименование>Розничная</Наименование> <Валюта>руб.</Валюта> <Налог>...</Налог> </ТипЦены> <ТипЦены> <Ид>bd72d8fc-55bc-11d9-848a-00112f43529a</Ид> <Наименование>Закупочная</Наименование> <Валюта>руб.</Валюта> <Налог>...</Налог> </ТипЦены> <ТипЦены> <Ид>cbcf495d-55bc-11d9-848a-00112f43529a</Ид> <Наименование>Минимальная</Наименование> <Валюта>руб.</Валюта> <Налог>...</Налог> </ТипЦены> </ТипыЦен>
Чуть ниже в предложениях он опубликован:
<Предложение> <Ид>46</Ид> <Артикул>3232</Артикул> <Наименование>Тестовый товар 1</Наименование> <Цены> <Цена> <ИдТипаЦены>cbcf493b-55bc-11d9-848a-00112f43529a</ИдТипаЦены> <ЦенаЗаЕдиницу>4533.0</ЦенаЗаЕдиницу> <Валюта>643</Валюта> <Коэффициент>1</Коэффициент> </Цена> <Цена> <ИдТипаЦены>bd72d8fc-55bc-11d9-848a-00112f43529a</ИдТипаЦены> <ЦенаЗаЕдиницу>3000.0</ЦенаЗаЕдиницу> <Валюта>643</Валюта> <Коэффициент>1</Коэффициент> </Цена> <Цена> <ИдТипаЦены>cbcf495d-55bc-11d9-848a-00112f43529a</ИдТипаЦены> <ЦенаЗаЕдиницу>2000.0</ЦенаЗаЕдиницу> <Валюта>643</Валюта> <Коэффициент>1</Коэффициент> </Цена> </Цены> <Количество>10.0</Количество> </Предложение>
но как спарсить именно bd72d8fc-55bc-11d9-848a-00112f43529a (это цену 3000 )
и записать её в БД?
Если вписать в файле 1c_exchange.php
$variant->group_price_2 = $xml_variant->Цены->Цена->ЦенаЗаЕдиницу;
Но обновляется и основная и дополнительная.
Помогите с вопросом.
Я так понимаю нужно парсить по id <ТипЦены>
-
Подскажите, пожалуйста, доступна ли по умолчанию переменная в шаблоне, содержащая общее количество товара, сумму товаров всех вариантов. Спасибо.
Создаем столбец в БД
ALTER TABLE `s_products` ADD `kolichestvo` tinyint(1) DEFAULT NULL;
Далее в файле /api/Products.php
Примерно на на 109 и 232 строчке добавляем:
p.kolichestvo,
Я делаю выгрузку через csv, поэтому вариант изменения этого значения в админке мне не нужен.
В файле /simpla/ajax/import.php
Примерно 18 строка добавляем:
'kolichestvo'=> array('kolichestvo', 'общее количество'),
и ниже примерно на 141 строке добавляем
if(isset($item['kolichestvo'])) $product['kolichestvo'] = trim($item['kolichestvo']);
В шаблоне выводим:
{if $product->kolichestvo'} <div class="nalichie">В наличии</dib> {$product->kolichestvo'} шт. {/if}
Должно работать. Если нужно могу сделать с изменением в админке.
-
Я имею в виду с большим количеством товаров. Если товаров более 5000, не вылетает?
Если быть точным: 19820 товаров.
-
Уважаемый к вашему вниманию уже доступна новая версия 2.3.6.
Рекомендую обновиться
В 2.3.3 внесено очень много изменений. Обновиться до 2,3,6 трудоемкий процесс. Меня и так всё устраивает
-
Кто-то пробовал? Как работает?
Работает отлично! Протестировал на 2.3.3
[2.*] Импорт пользователей
в Платные модули и услуги
Опубликовано
Купил данное дополнение, всё работает отлично! Спасибо.