Добавить в Tickets - unpub_date
Как в компоненте Tickets заполнять поле при добавлении тикета unpub_date, пробовал прописать поле в "&allowedFields=`pagetitle,parent,content,unpub_date`", но ничего не получилось…
вот это вставляю в форму в шаблон добавления тикета:
3 дня7 дней14 дней1 месяц3 месяца
вот это вставляю в форму в шаблон добавления тикета:
3 дня7 дней14 дней1 месяц3 месяца
Поиск по пользователям сайта
Вкратце — необходимо реализовать поиск по определенным пользовательским полям (пока fullname, phone).
Какими средствами это можно реализовать?
Какими средствами это можно реализовать?
РЕШЕНО - Загрузка картинок из фроненда
Доброго времени суток. Нагуглил такие вот сниппеты для создания ресурсов из фронтенда:
1 — Отвечает за заполнение указаных в ФормИТ полей:
2 — загружает файлы на сервер и забивает путь к ним в нужные ТВ:
2й мне нужен только для загрузки картинок, но он вставляет в ТВ строчку, подобную этой:
1 — Отвечает за заполнение указаных в ФормИТ полей:
<?php
$doc = $modx->getObject('modResource',array('id'=>$hook->getValue('resource_id')));
if (empty($doc)){
$doc = $modx->newObject('modResource');
$doc->set('createdby', $modx->user->get('id'));
}
else{
$doc->set('editedby', $modx->user->get('id'));
}
$allFormFields = $hook->getValues();
foreach ($allFormFields as $field=>$value)
{
if ($field !== 'spam' && $field !== 'resource_id'){
$doc->set($field, $value);
}
}
$alias = $doc->cleanAlias($fields['pagetitle']);
if($modx->getCount(modResource, array('alias'=>$alias))!= 0) {
$count = 1;
$newAlias = $alias;
while($modx->getCount(modResource, array('alias'=>$newAlias))!= 0) {
$newAlias = $alias;
$newAlias .= '-' . $count;
$count++;
}
$alias = $newAlias;
}
$doc->set('alias',$alias);
$doc->set('template', $template);
$doc->save();
foreach ($allFormFields as $field=>$value)
{
if (!empty($value) && $tv = $modx->getObject('modTemplateVar', array ('name'=>$field)))
{
/* handles checkboxes & multiple selects elements */
if (is_array($value)) {
$featureInsert = array();
while (list($featureValue, $featureItem) = each($value)) {
$featureInsert[count($featureInsert)] = $featureItem;
}
$value = implode('||',$featureInsert);
}
$tv->setValue($doc->get('id'), $value);
$tv->save();
}
}
$modx->cacheManager->refresh();
return true;
2 — загружает файлы на сервер и забивает путь к ним в нужные ТВ:
<?php
// initialize output;
$output = true;
$counter = 1;
// valid extensions
$ext_array = array('jpg', 'png', 'gif', 'jpeg', 'JPG', 'PNG', 'GIF', 'JPEG');
$mydir = $modx->user->get('id'); // Path from root that user specifies
// create unique path for this form submission
$uploadpath = 'assets/uploads/'.$mydir.'/';
// get full path to unique folder
$target_path = $modx->config['base_path'] . $uploadpath;
// get uploaded file names:
$submittedfiles = array_keys($_FILES);
// loop through files
foreach ($submittedfiles as $sf) {
// Get Filename and make sure its good.
$filename = basename( $_FILES[$sf]['name'] );
// Get file's extension
$ext = pathinfo($filename, PATHINFO_EXTENSION);
$ext = mb_strtolower($ext); // case insensitive
// is the file name empty (no file uploaded)
if($filename != '') {
// is this the right type of file?
if(in_array($ext, $ext_array)) {
// clean up file name and make unique
$filename = $counter . '.' . $ext;
$filename = str_replace(' ', '_', $filename); // spaces to underscores
$filename = date("Y-m-d_G-i-s_") . $filename; // add date & time
// full path to new file
$myTarget = $target_path . $filename;
// create directory to move file into if it doesn't exist
mkdir($target_path, 0755, true);
// is the file moved to the proper folder successfully?
if(move_uploaded_file($_FILES[$sf]['tmp_name'], $myTarget)) {
// set a new placeholder with the new full path (if you need it in subsequent hooks)
$myFile = $uploadpath . $filename;
$hook->setValue($sf,$myFile);
// set the permissions on the file
if (!chmod($myTarget, 0644)) { /*some debug function*/ }
} else {
// File not uploaded
$errorMsg = 'There was a problem uploading the file.';
$hook->addError($sf, $errorMsg);
$output = false; // generate submission error
}
} else {
// File type not allowed
$errorMsg = 'Type of file not allowed.';
$hook->addError($sf, $errorMsg);
$output = false; // generate submission error
}
// if no file, don't error, but return blank
} else {
$hook->setValue($sf, '');
}
$counter = $counter + 1;
}
return $output;
2й мне нужен только для загрузки картинок, но он вставляет в ТВ строчку, подобную этой:
london_lights_by_bluerain0789-d5hn65m.jpg||image/jpeg||D:\OpenServer\userdata\temp\php873C.tmp||0||5460308
Что приводит к полному провалу все затеи. Я пытался копать в сторону проблем загрузки файлов наОпенСервере, но ничего не нагуглил, к сожалению. В другие ТВ, например, цена, вставляется все нормально. Странное поведение
Пытаюсь в своем скрипте для товаров помеченных «галочкой» выполнить метод
$('.element_check').each(
function(i){
if ($(this).prop('checked')){
var id = 0;
id = $(this).data('id');
miniShop2.Cart.add(+id, 1, "[]");
}
});
ничего не происходит, но(!)
если вставляю после
miniShop2.Cart.add(+id, 1, "[]");
алерт с кнопкой
alert(«Добавляем в корзину элемент с номером»+id);
то все нормально добавляется в корзину.
Почему интересно так???
$('.element_check').each(
function(i){
if ($(this).prop('checked')){
var id = 0;
id = $(this).data('id');
miniShop2.Cart.add(+id, 1, "[]");
}
});
ничего не происходит, но(!)
если вставляю после
miniShop2.Cart.add(+id, 1, "[]");
алерт с кнопкой
alert(«Добавляем в корзину элемент с номером»+id);
то все нормально добавляется в корзину.
Почему интересно так???
Правильное решение при доп. параметрах товара
Василий, вопрос в принципе лично к тебе, но конечно уверен он будет полезен и другим читателям.
Так вот — хотел спросить именно твое мнение при выборе архитектурного решения для дополнительных свойств товара.
Предположим есть интернет магазин мебели, товары само собой совершенно разных видов, например есть диван с 10 параметрами, 7 из которых уникальны и присущи токо диванам, оставшиеся 3 присущи еще 5 вариантам категорий,
ну и есть еще всякие стулья кресла итп у которых тоже есть как и схожие так и уникальные параметры, да и вообще есть категории где доп. параметры ни с кем не повторяются.
Так вот — хотел спросить именно твое мнение при выборе архитектурного решения для дополнительных свойств товара.
Предположим есть интернет магазин мебели, товары само собой совершенно разных видов, например есть диван с 10 параметрами, 7 из которых уникальны и присущи токо диванам, оставшиеся 3 присущи еще 5 вариантам категорий,
ну и есть еще всякие стулья кресла итп у которых тоже есть как и схожие так и уникальные параметры, да и вообще есть категории где доп. параметры ни с кем не повторяются.
msProduct не любит кавычки в значениях по умолч TV
Есть текстовый TV, если в нем использовать значения по умолчанию с кавычками ", то при включении данного TV ничего не выведет, т.к. в запросе — IFNULL(`TVname`.`value`, «TVdefault.value») — закрывает первая встретившая неэкранированная кавычка.
Интересный глюк pdoResources
Интересная особенность у pdoResources при подключении ТВшек. Последнюю ТВшку из списка наотрез не хочет выводить. Она выводится только тогда, когда в конце поставишь ",".
вывод новых товаров
Здравствуйте, подскажите как вывести новые товары, т.е те товары которые были отмечены как новый при создание товара в свойствах