Ilya
логично же
Алексей
Ну да, точно надо буханки и отдохнуть походу)
Алексей
*бухануть)))
Yaroslav
Yaroslav
всем привет, накатит 1.4.0б и чето с парсером не то))
Dmytro
Ага бяка надо Яме написать ;(
Alexander
всем привет, накатит 1.4.0б и чето с парсером не то))
Добро пожаловать в бетатестеры😄
Yaroslav
Yaroslav
Добро пожаловать в бетатестеры😄
ты там свой модуль не обновлял?)
Yaroslav
и что нового?)
Alexander
Мелкие фиксы
Сергей
Можно обновляться?
Anonymous
нужно
Yaroslav
на рабочий сайты не обновляйте ) 2 штуки уже запорол
Anonymous
11 работают, здря Вы так
Алексей
Коллеги, а чего может мой плагин не работать? Вот код
Алексей
$e = &$modx->event; if ($e->name == 'OnDocFormSave') { $filename=MODX_BASE_PATH.'assets/cache/nbu.txt'; $nbu = file_get_contents($filename); global $modx; global $tmplvars; $e->output($tmplvars); $price=$tmplvars[4][1]; $tv_id=22; $tv = array('price_us' => $price); $res=$modx->db->update( $tv, $modx->getFullTableName('site_tmplvar_contentvalues'), 'tmplvarid = "' . $tv_id . '"' ); //echo "<pre>"; // print_r($price); //echo "</pre>"; //die(); }
Алексей
в переменную price я получаю значение, а вот записать это значение в другой tv не получается
Сергей
вы сначала на событие OnDocFormSave сохраняете значение, и следом это значение переопределяет сохраняемая страница) глобалы внутри можно не ставить
Алексей
ааа, мне перед сохранением надо его получить на событие OnBeforeDocFormSave, а на OnDocFormSave уже записывать?
Сергей
зачем записывать, то, что и так записывается?
Алексей
у меня есть два тв, price и price_us и мне надо при сохранении или там редактировании ресурса чтобы данные из поля price записывались в поле price_us
Сергей
зачем, если есть уже поле прайс, с такими же данными? про мультивалютность я вам уже дал пример, работающий на 100500%, зачем вы придумываете сложности)) ну или хотя бы опишите логику работы которую создаёте
Алексей
заказчик хочет ввести в товаре цену в долларах, а когда сохранился в соседнем поле ему показывало сколько это в гривнах
Алексей
по курсу
Алексей
а курс у меня берется с нбу и записывается в файл
Алексей
раз в сутки обновляется
Сергей
в админке чтобы видел или вывести надо на фронте?
Алексей
для фронта я сниппет написал, а он хочет именно в админке видеть
Алексей
поэтому я и решил плагин написать, вытащить курс получилось, вытащить значение тв получилось, а вот записать в другое тв не получается
Сергей
создайтё плагин на событие OnDocFormRender и в нём js <script> $(input).keyup(function() { $(input2).val( $(input).val() * 2 ) }) </script>
Алексей
блин, просто то как) вечно меня в сложности несет
Сергей
если честно, вы выбрали сложный путь.
Алексей
спасибо, сейчас попробую
Алексей
зато попрактиковался в написании плагина)
Сергей
лучше курсы забить в глобальные плейсхолдеры, ибо не будет лишних запросов, для их получения
Алексей
а в Cfg_Tv можно? разницы я думаю никакой
Алексей
а потом кроном обновлять
Алексей
точно
Алексей
спасибо за толкание на путь истинный)
Сергей
если с помощью Cfg_Tv можно на любой странице вывести курсы так [(EUR)] то можно)
Сергей
спасибо за толкание на путь истинный)
решение же готовое написал)))) уже не один десяток сайтов так сделал
Сергей
ну а в админке, можно новую цену с расчётом по курсу, указать просто как текст рядом с полем ввода)
Сергей
а потом кроном обновлять
в моём случае, я обновляю три переменных, и чищу кэш.. в вашем случае, вы пересчитываете все товары по курсу и записываете данные обратно в базу
Алексей
ну у меня только доллар, тогда получается одна переменная
Сергей
ну да
Сергей
то есть проще одну обновить)
Алексей
порщу?
Алексей
ааа
Сергей
хоть вручную)) раз в день
Сергей
порщу?
да поторипился)
Алексей
ну а в админке тогда получается плагин на OnDocFormRender который вытащит курс из переменной и цену перемножит и выведет рядом
Сергей
вытащить курс так $usd = $modx->config['USD'] $price = $price * $usd; но это если все-все цены товаров в долларах
Алексей
абсолютно все
Алексей
вот так $usd = $modx->config['USD'] это если использовать GlobalPlaceholder?
Алексей
никогда его не юзал просто) сейчас буду пробовать
Сергей
записать данные в конфигурацию, можно разными способами, ну а получить да, так
Сергей
плагин customSettings не слышали?
Алексей
слышал, но не использовал ни разу
Сергей
$e = &$modx->Event; $output = ""; if ($e->name == 'OnSiteSettingsRender'){ $settingsArr = !empty($settings) ? explode('||',$settings) : array('Example custom setting~custom_st_example'); $fname = !empty($pname) ? $pname : 'Дополнительные настройки'; $output .= '</td></tr></table></div><div style="display: block;" class="tab-page" id="tabPage8"><h2 class="tab">'.$fname.'</h2><script type="text/javascript">tpSettings.addTabPage( document.getElementById( "tabPage8" ) );</script><table border="0" cellpadding="3" cellspacing="0" width="100%"><tbody>'; foreach($settingsArr as $key => $st_row){ $st_label_arr = explode('~',$st_row); $custom_st_label = trim($st_label_arr[0]); $custom_st_name = isset($st_label_arr[1]) ? $st_label_arr[1] : 'custom_st'; $custom_st_value = isset($st_label_arr[1]) && isset($modx->config[$st_label_arr[1]]) ? trim($modx->config[$st_label_arr[1]]) : ''; $output .= '<tr><td class="warning" nowrap width="1%">'.$custom_st_label.'</td> <td width="1%"><input type="text" value="'.$custom_st_value.'" name="'.$custom_st_name.'" style="width: 350px;" onchange="documentDirty=true;" /></td><td>[('.$custom_st_name.')]</td></tr><tr><td colspan="3"><div class="split"/></td></tr>'; } $output .= '</tbody></table>'; } $e->output($output);
Алексей
спасибо
Сергей
конфиг { "settings": [ { "label": "Settings", "type": "textarea", "value": "Курс доллара~USD||Курс евро~EUR", "desc": "" } ], "pname": [ { "label": "Название", "type": "text", "value": "Инд. настройки для сайта", "default": "Индивидуальные настройки для сайта", "desc": "" } ] }
Сергей
на странице конфигурации самой системы, появится новая вкладка
Сергей
создание этого плагина, самое сложное в реализации мультивалютности)
Алексей
вкладка появилась, а конфиг куда пихать? )
Сергей
в настройку самого плагина 😳
Алексей
во вкладку конфигурация?
Сергей
во вкладку конфигурация?
Свойства плагина
Алексей
тупанул)
Сергей
Это было самое сложное, я предупреждал
Алексей
)))
Алексей
крутяк, спасибо за помощь, дальше буду сам, не буду вас задалбывать) если опять затуплю то попрошу еще помощи
Алексей
)))
Sentinel
Всем привет Обновился до 1.3.6 заимел вот такое http://s1.bild.me/bilder/110417/5087551screenshot_2017-10-29_002.png куда копнуть?
Sentinel
style.css я так понимаю не видит
Евгений
style.css я так понимаю не видит
все кеш, кнопки то видит
Sentinel
там только fonts.css и bootstrap.min.css
Sentinel
их генерят