Автор Тема: Задаем курс, вписываем сумму, получаем цену  (Прочитано 25646 раз)

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

Оффлайн Dolce

  • Создатель
  • ***
  • Сообщений: 130
    • Просмотр профиля
  • Версия modx: EVO | REVO
Re: Задаем курс, вписываем сумму, получаем цену
« Ответ #60 : 15 Сентябрь 2012, 15:31:26 »
Вот мне ответили на форуме шопкипера, полезное решение, само берет значение курса с центрального банка России(не очень подходит ибо мне нужна гривна а не рубль. Может переработаем совместными усилиями=)) )

код сниппета "valuta":
<?php
$date = date("d/m/Y");
    $link = "[url]http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date[/url]";
    $fd = fopen($link, "r");
    $text="";
    if (!$fd) echo "Not Found";
    else
    {
      while (!feof ($fd)) $text .= fgets($fd, 4096);
    }
    fclose ($fd);
  $content = $text;

  $pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
  preg_match_all($pattern, $content, $out, PREG_SET_ORDER);
  $dollar = "";
  $euro = "";
  foreach($out as $cur)
  {
    if($cur[2] == 840) $dollar = str_replace(",",".",$cur[4]);
    if($cur[2] == 978) $euro   = str_replace(",",".",$cur[4]);
  }

list($stoim,$valut) = explode(",", $valuta);

 $tcena=$stoim;
 $tv_arr_so=$modx->getTemplateVars(array('course_distr'),'id','1');
 
 if( $valut=='d')
 {
 $tcena=round($stoim*$dollar,2);
 }
 if ($valut=='e')
 {
 $tcena=round($stoim*$euro,2);
 }
 if ($valut=='es')
 {
 $tcena=round($stoim*$tv_arr_so[0]['value'],2);
 }
 return ($tcena);
?>
код в поле "Возможные значения" TV-параметра price (код вставлять без интеров):
$tv_arr_s=$modx->getTemplateVars(array('course_distr'),'id',1);if((@$tv_arr_s[0]['value']) && (@$tv_arr_s[0]['value']!='')){$typecrs='es';}else{$typecrs='e';}$tv_arr=$modx->getTemplateVars(array('priceeuro'),'id',$docid);$abc = $modx->runSnippet('valuta', array( 'valuta' => '1,'.$typecrs));return round($tv_arr[0]['value']*$abc, 0);
код в поле "Значение по умолчанию:" TV-параметра price (код вставлять без интеров):
В рублях==@EVAL $tv_arr_s=$modx->getTemplateVars(array('course_distr'),'id',1);if((@$tv_arr_s[0]['value']) && (@$tv_arr_s[0]['value']!='')){$typecrs='es';}else{$typecrs='e';}$tv_arr=$modx->getTemplateVars(array('priceeuro'),'id',$docid);$abc = $modx->runSnippet('valuta', array( 'valuta' => '1,'.$typecrs));return round($tv_arr[0]['value']*$abc, 0);
Ссылка на источник http://modx-shopkeeper.ru/forum/viewtopic.php?pid=10064#p10064

Оффлайн sadex13

  • Разработчик
  • *****
  • Сообщений: 1097
    • Просмотр профиля
  • Версия modx: Evo 1.0.6, ClipperCMS 1.2.6
Re: Задаем курс, вписываем сумму, получаем цену
« Ответ #61 : 15 Сентябрь 2012, 16:45:38 »
Dolce, Вы бы по этому поводу отдельную тему сделали, о работе с шопкипером, а не постили все в одну кучу, эта тема уже разраслась немеряно, вней трудно ориентироваться что где.

PS
Возможно без особой разницы, откуда курс брать - с сайта ЦБ России, ЦБ Украины или с сайта какой-нить валютной биржи... И какой курс - гривны или доллара. Конечно, что-то изменить адаптировать придется - на то оно и PHP дается для таких целей.
FluxBB (PHP/MySQL) - легкий и быстрый форум для MODX с открытым кодом, минимальные требования к ресурсам.

Оффлайн Dolce

  • Создатель
  • ***
  • Сообщений: 130
    • Просмотр профиля
  • Версия modx: EVO | REVO
Re: Задаем курс, вписываем сумму, получаем цену
« Ответ #62 : 15 Сентябрь 2012, 16:57:18 »
Было бы не плохо создать раздел по шопкиперу, я бы туда по выносил эти темы и в дальнейшем можно было бы туда полезные решения постить. Уважаемый ¥ota, может так и сделаем?=)

Оффлайн sadex13

  • Разработчик
  • *****
  • Сообщений: 1097
    • Просмотр профиля
  • Версия modx: Evo 1.0.6, ClipperCMS 1.2.6
Re: Задаем курс, вписываем сумму, получаем цену
« Ответ #63 : 15 Сентябрь 2012, 17:11:26 »
> Уважаемый ¥ota, может так и сделаем?=)
¥ota, хозяйка наша, она женского полу... умница, красавица (комсомолка-спортсменка в прошлом)... :). Шютка (в другом плане, в том плане что женщина - это правда). Опять как-то не так сказал... Ну да ладна... Женщины - это самая сложная аппаратура, с которой когда-либо приходилось иметь дело.

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

Кстати, в разделе "Evo: Расширения" есть подраздел "Галереи для Ево", можно рядом создать подраздел о шопкипере.

Dolce, просите Yotu не здесь, а в спец разделе о работе форума, а то в эту тему она сразу и не заглянет - здесь много всего наворочено, чтобы все просмотреть - немало времени нужно.
« Последнее редактирование: 15 Сентябрь 2012, 17:24:04 от sadex13 »
FluxBB (PHP/MySQL) - легкий и быстрый форум для MODX с открытым кодом, минимальные требования к ресурсам.

Оффлайн ¥ota

  • Администратор
  • Разработчик
  • *****
  • Сообщений: 752
    • Просмотр профиля
    • Портфолио web-мастера
  • Версия modx: Evo, Revo
Re: Задаем курс, вписываем сумму, получаем цену
« Ответ #64 : 16 Сентябрь 2012, 00:03:31 »
Было бы не плохо создать раздел по шопкиперу, я бы туда по выносил эти темы и в дальнейшем можно было бы туда полезные решения постить. Уважаемый ¥ota, может так и сделаем?=)
Раздел Shopkeeper создан; модератор (по флотским традициям  :-) ) - Dolce.

Оффлайн ¥ota

  • Администратор
  • Разработчик
  • *****
  • Сообщений: 752
    • Просмотр профиля
    • Портфолио web-мастера
  • Версия modx: Evo, Revo
Re: Задаем курс, вписываем сумму, получаем цену
« Ответ #65 : 16 Сентябрь 2012, 00:12:18 »
Женщины - это самая сложная аппаратура, с которой когда-либо приходилось иметь дело
:-D


Dolce, а сможешь в одном посту описать все шаги и код по изготовлению этого очень нужного сниппета для Shopkeeper? Ну и туда запостить, в свой новенький раздел?

Оффлайн sadex13

  • Разработчик
  • *****
  • Сообщений: 1097
    • Просмотр профиля
  • Версия modx: Evo 1.0.6, ClipperCMS 1.2.6
Re: Задаем курс, вписываем сумму, получаем цену
« Ответ #66 : 16 Сентябрь 2012, 12:07:29 »
¥ota, без прикола нет волейбола... :)
"А иначе что за жизнь - соль без запаха."
(с) Мужик известный.

>Dolce, а сможешь в одном посту описать все шаги и код по изготовлению этого очень нужного сниппета для Shopkeeper? Ну и туда запостить, в свой новенький раздел?

Ехх...есть сомнения в его очень нужности именно для шопкипера. Но этот сниппет очень хорошо иллюстрирует возможности TV и методы работы с ними в Ево (да и для Рево это полезно). Дело в том, что зная эти возможности TV любой может сделать что-то под себя гораздо удобнее и эффективнее,чем универсальные решения в чужих сниппетах-плагинах. Мы ж все-таки веб-программеры, или кто...

Допустим, если женщина (не дай Боги) попадает на зону, то ей дают общую, универсальную одежду и обувь. Это и есть чужие сниппеты и плагины для себя любимого(ой). А когда выходит на свободу - одевает то что нравится, индивидуально. Так вот, способы работы с TV в этом сниппете - это как раз возможность сделать для своего сайта что-то быстрое, красивое, удобное и индивидуальное.
« Последнее редактирование: 16 Сентябрь 2012, 12:17:58 от sadex13 »
FluxBB (PHP/MySQL) - легкий и быстрый форум для MODX с открытым кодом, минимальные требования к ресурсам.

Оффлайн Dolce

  • Создатель
  • ***
  • Сообщений: 130
    • Просмотр профиля
  • Версия modx: EVO | REVO
Re: Задаем курс, вписываем сумму, получаем цену
« Ответ #67 : 16 Сентябрь 2012, 14:22:08 »
Ой-ой-ой=)))Дико извиняюсь O:-)
Спасибо, завтра все вынесу в новый раздел :01:

Оффлайн ¥ota

  • Администратор
  • Разработчик
  • *****
  • Сообщений: 752
    • Просмотр профиля
    • Портфолио web-мастера
  • Версия modx: Evo, Revo
Re: Задаем курс, вписываем сумму, получаем цену
« Ответ #68 : 16 Сентябрь 2012, 20:59:11 »
Допустим, если женщина (не дай Боги) попадает на зону, то ей дают общую, универсальную одежду и обувь. Это и есть чужие сниппеты и плагины для себя любимого(ой). А когда выходит на свободу - одевает то что нравится, индивидуально. Так вот, способы работы с TV в этом сниппете - это как раз возможность сделать для своего сайта что-то быстрое, красивое, удобное и индивидуальное.
Не все умеют программировать. Большинство, ИМХО, пользуются готовыми решениями, немного подпиливая их под себя.

Оффлайн sadex13

  • Разработчик
  • *****
  • Сообщений: 1097
    • Просмотр профиля
  • Версия modx: Evo 1.0.6, ClipperCMS 1.2.6
Re: Задаем курс, вписываем сумму, получаем цену
« Ответ #69 : 16 Сентябрь 2012, 21:03:37 »
>Большинство, ИМХО, пользуются готовыми решениями, немного подпиливая их под себя.

Это, в 90% случаев, оптимальный вариант, сам очень часто так делаю.
FluxBB (PHP/MySQL) - легкий и быстрый форум для MODX с открытым кодом, минимальные требования к ресурсам.