Вопросы
Способы командной работы с использованием Git. Поделитесь опытом.
Добрый день.
Всегда работал один и никогда не испытывал необходимости в инструменте контроля версий, особенно в контексте командной работы.
Для общего развития я конечно знакомился с git, консольными командами, ветками, решением конфликтов и прочим. (cкажем так, на крепкую троечку.)
Но попытки использовать это в работе, просто ради того лишь бы было, приводили скорее к усложнению процесса. (чего только стоит история, когда я с трудом наладил работу с кодом через github для одного сайта, а через пару месяцев все перестало работать и только через время заказчик признался, что мол ему захотелось что-то изменить, а у него же племянник учится на программиста, она дал доступы к фтп, тот что то делал, но ничего не вышло и решили никому и не говорить. Так что и так бывает.)
Ну и вот теперь наверное третий подход и попытка понять, как же этим люди пользуются и почему считают удобным.
Я опишу то, как я вижу процесс работы одновременно двоих разработчиков над одним проектом и почему мне это кажется «странным» и не жизнеспособным, а вы исправьте меня пожалуйста и поделитесь своим опытом.
Есть некий сайт, который уже работает и доступен пользователям (site.com)
Есть его копия, не доступная пользователям (dev.site.com)
Есть Programmer1 и Programmer2. В одно чудесное утро они получают задачу — на site.com нужен функционал Промокод для заказа и Гибкое управление скидками. Один берет одно, другой — другое.
Всегда работал один и никогда не испытывал необходимости в инструменте контроля версий, особенно в контексте командной работы.
Для общего развития я конечно знакомился с git, консольными командами, ветками, решением конфликтов и прочим. (cкажем так, на крепкую троечку.)
Но попытки использовать это в работе, просто ради того лишь бы было, приводили скорее к усложнению процесса. (чего только стоит история, когда я с трудом наладил работу с кодом через github для одного сайта, а через пару месяцев все перестало работать и только через время заказчик признался, что мол ему захотелось что-то изменить, а у него же племянник учится на программиста, она дал доступы к фтп, тот что то делал, но ничего не вышло и решили никому и не говорить. Так что и так бывает.)
Ну и вот теперь наверное третий подход и попытка понять, как же этим люди пользуются и почему считают удобным.
Я опишу то, как я вижу процесс работы одновременно двоих разработчиков над одним проектом и почему мне это кажется «странным» и не жизнеспособным, а вы исправьте меня пожалуйста и поделитесь своим опытом.
Есть некий сайт, который уже работает и доступен пользователям (site.com)
Есть его копия, не доступная пользователям (dev.site.com)
Есть Programmer1 и Programmer2. В одно чудесное утро они получают задачу — на site.com нужен функционал Промокод для заказа и Гибкое управление скидками. Один берет одно, другой — другое.
Можно ли изменить стоимость заказа перед переходом к оплате?
Приветствую!
Подскажите, есть ли способ изменить стоимость заказа (а лучше доставки отдельно), перед переходом к оплате (после того, как пользователь нажал «Сделать заказ!»? Сколько искал, не нашёл в сети похожих примеров.
Подскажите, есть ли способ изменить стоимость заказа (а лучше доставки отдельно), перед переходом к оплате (после того, как пользователь нажал «Сделать заказ!»? Сколько искал, не нашёл в сети похожих примеров.
Запрос c where в Fenom
Привет сообществу
Подскажите, есть ли способ прописать условие выборки на Fenom? В частности, как реализовать:
'where'=>'{
«NameTag.alias»: "{$.get.tag}"
}',
Fenom упорно не видит {$.get.tag}
Подскажите, есть ли способ прописать условие выборки на Fenom? В частности, как реализовать:
'where'=>'{
«NameTag.alias»: "{$.get.tag}"
}',
Fenom упорно не видит {$.get.tag}
Определить мобильное устройство
Нужно изменять контент, если идет отображение на моб устройстве. Как это лучше делать в рамках данной CMS?
Спасибо!
Спасибо!
[Решено]: pdoResources &where сортировка по дате
Уж сколько копий изломано по этому параметру(а прежде и по &tvFilters), вот очередная похожая проблема,
все что мог выискал, вычитал, в ядро дальше копать? Подскажите, чего я не вижу.
Есть события, у каждого в двух TV — время начала и окончания события. Как известно, они хранятся не в timestamp. Нужно выводить только те, у которых дата завершения еще не наступила.
В тестируемом контейнере событий всего 10, и только одно еще не завершилось.Сниппет currentDate возвращает просто метку времени через time().
Вызов сниппета:
все что мог выискал, вычитал, в ядро дальше копать? Подскажите, чего я не вижу.
Есть события, у каждого в двух TV — время начала и окончания события. Как известно, они хранятся не в timestamp. Нужно выводить только те, у которых дата завершения еще не наступила.
В тестируемом контейнере событий всего 10, и только одно еще не завершилось.Сниппет currentDate возвращает просто метку времени через time().
Вызов сниппета:
{'!pdoResources' | snippet : [
'select' => '{"modResource":"id,pagetitle"}',
'tpl' => 'marketEventTpl',
'level' => '1',
'limit' => '100',
'tvPrefix' => '',
'includeTVs' => 'EventStart,EventEnd',
'templates' => '17',
'sortby' => '{"EventStart":"ASC"}'
'where' => 'UNIX_TIMESTAMP(EventEnd) > "[[!currentDate]]"'
'showLog' => '1'
]}Лог результата:0.0000610: pdoTools loaded
0.0000160: xPDO query object created
0.0004399: Included list of tvs: EventEnd, EventStart
0.0001340: leftJoined modTemplateVarResource as TVeventend
0.0001180: leftJoined modTemplateVarResource as TVeventstart
0.0000529: Added selection of modResource: `id`, `pagetitle`
0.0000050: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `EventEnd`
0.0000041: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `EventStart`
0.0000520: Replaced TV conditions
0.0003431: Processed additional conditions
0.0005569: Added where condition: 0=UNIX_TIMESTAMP(`TVeventend`.`value`) > "1574334058", modResource.parent:IN(8,29,286,310,311,312,292,313,314,315,293,308,309), modResource.template:IN(17), modResource.published=1, modResource.deleted=0
0.0000060: Replaced TV conditions
0.0001009: Sorted by CAST(`TVeventstart`.`value` AS DATETIME), ASC
0.0000021: Limited to 100, offset 0
0.0001509: SQL prepared "SELECT `modResource`.`id`, `modResource`.`pagetitle`, IFNULL(`TVeventend`.`value`, '') AS `EventEnd`, IFNULL(`TVeventstart`.`value`, '') AS `EventStart` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TVeventend` ON `TVeventend`.`contentid` = `modResource`.`id` AND `TVeventend`.`tmplvarid` = 149 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVeventstart` ON `TVeventstart`.`contentid` = `modResource`.`id` AND `TVeventstart`.`tmplvarid` = 148 WHERE ( UNIX_TIMESTAMP(`TVeventend`.`value`) > "1574334058" AND `modResource`.`parent` IN (8,29,286,310,311,312,292,313,314,315,293,308,309) AND `modResource`.`template` IN (17) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 ) ORDER BY CAST(`TVeventstart`.`value` AS DATETIME) ASC LIMIT 100 "
0.0012290: SQL executed
0.0000150: Rows fetched
0.0012670: Prepared and processed TVs
0.0005660: Loaded "modChunk" with name "marketEventTpl"
0.0079620: Compiled Fenom chunk with name "modchunk/8"
0.0120490: Returning processed chunks
0.0162890: Total time
8 388 608: Memory usageВыводит все 10. Удивительно то, что если скормить формируемый SQL запрос напрямую в базу, получаем желаемый один результат!large01.jpg: Передан пустой файл в галерее
Добрый день.
Подскажите как исправить?
ms2: large01.jpg: Передан пустой файл в галерее
php 5.4.16 (native)
Подскажите как исправить?
ms2: large01.jpg: Передан пустой файл в галерее
php 5.4.16 (native)
msMCD - как вывести размер в миникорзине?
Приветствую!
Разработчик не отвечает в тех поддержке, решил спросить здесь.
Может кто сталкивался с проблемой вывода размера товара в миникорзине?
Сделал так
Вот снипет
Разработчик не отвечает в тех поддержке, решил спросить здесь.
Может кто сталкивался с проблемой вывода размера товара в миникорзине?
Сделал так
{$item.options}, ничего не выводиться, хотя в документации указано что options по умолчанию можно использовать. В системных настройках я его добавил.Вот снипет
{'!msMCDMiniCart' | snippet: [
'img' => 'small',
'tpl' => 'msMCDMiniCartRowTpl-2',
]}Заранее спасибо! mfilter2 custom filter по tv с разделителем
Доброго времени суток.
Пытался сделать кастомный фильтр для mfilter2, можно сказать почти удалось, но столкнулся с проблемой, при фильтрации по одному тв полю — все работает, если по нескольким уже нет.
Всего полей 10 в них содержатся значения в таком виде: 0|1|2 и т.д.
https://yadi.sk/i/AU8706AxkYLZzQ
Прошу помощи
Пытался сделать кастомный фильтр для mfilter2, можно сказать почти удалось, но столкнулся с проблемой, при фильтрации по одному тв полю — все работает, если по нескольким уже нет.
Всего полей 10 в них содержатся значения в таком виде: 0|1|2 и т.д.
<?php
class myCustomFilter extends mse2FiltersHandler {
public function buildQstFilter(array $values) {
if (count($values) < 2 && empty($this->config['showEmptyFilters'])) {
return array();
}
$tmp = $values;
$values = array();
foreach ($tmp as $k => $v) {
$tmp = explode('|', $k);
foreach ($tmp as $k => $v) {
$values[$v] = array(
$v => $v
);
}
}
$results = array();
foreach ($values as $value => $ids) {
$title = $value;
if (!isset($results[$value])) {
$results[$value] = array(
'title' => $title
,'value' => $value
,'type' => 'price'
,'resource' => array()
);
}
foreach ($ids as $id) {
$results[$value]['resources'][] = $id;
}
}
ksort($results);
return $results;
}
public function filterQst(array $requested, array $values, array $ids) {
$matched = array();
//$values = Array ( [7] => Array ( [890] => 890 ) [2|7] => Array ( [1530] => 1530 ) )
//$value = 2
$value = $requested[0];
$tmp = array_flip($ids);
foreach ($values as $answ_id => $id) {
$answ = explode('|', $answ_id);
if(in_array($value, $answ)) {
foreach ($id as $k => $v) {
$matched[] = $v;
}
}
}
return $matched;
}
}В шаблоне{'!mFilter2'|snippet:[
'aliases' => '
tv|qst_9==qst_9,
tv|qst_10==qst_10,
tv|qst_11==qst_11,
tv|qst_12==qst_12,
tv|qst_13==qst_13,
tv|qst_14==qst_14,
tv|qst_15==qst_15,
tv|qst_16==qst_16,
tv|qst_18==qst_18,
tv|region==region,
ms|price==price,
resource|parent==category
',
'filters' => '
tv|qst_9:qst,
tv|qst_10:qst,
tv|qst_11:qst,
tv|qst_12:qst,
tv|qst_13:qst,
tv|qst_14:qst,
tv|qst_15:qst,
tv|qst_16:qst,
tv|qst_18:qst,
tv|region:qst,
ms|price:number,
resource|parent:parents
',
'parents' => 7,
'limit' => 12,
'element' => 'msProducts',
'sortby' => 'RAND()',
'class' => 'msProduct',
'includeContent' => 1,
'includeTVs' => 'filials,img,qst_9,qst_10,qst_11,qst_12,qst_13,qst_14,qst_15,qst_16,qst_18,region',
'tplOuter' => 'PODBORKA.mFilter2.outer',
'tplFilter.outer.default' => 'mFilter2.filter.outer',
'tplFilter.row.default' => 'mFilter2.filter.checkbox',
'tplFilter.outer.price' => 'tpl.mFilter2.filter.slider',
'tplFilter.row.price' => 'tpl.mFilter2.filter.number',
'tpls' => 'CATALOG.item.tpl',
'hideContainers' => 1,
'showEmptyFilters' => 1,
'suggestions' => 0,
'ajaxMode' => 'default'
]}Сами поля:https://yadi.sk/i/AU8706AxkYLZzQ
Прошу помощи
Fenom: Не выводится чанк при условии
Привет!..
Создан TV — latestTag (список-одиночный выбор 0==Нет||1=Да)
В tpl_latestTag обычный span с текстом
Пытаюсь вывести
Создан TV — latestTag (список-одиночный выбор 0==Нет||1=Да)
В tpl_latestTag обычный span с текстом
Пытаюсь вывести
{if $_modx->resource.latestTag == '1'}
{$_modx->getChunk('tpl_latestTag')}
{/if}А он не выводится. Что я делаю не так?