Константин Обухов
С нами с 03 марта 2016; Место в рейтинге пользователей: #333Работа с prepareSnippet
Доброго времени суток!
Пытаюсь на своем сайте сделать все правильно, а именно вызывать pdoPage сразу с шаблоном, и обрабатывать данные заранее, через prepareSnippet. Но самостоятельно, у меня ничего не выходит — не хватает опыта. Подскажите, что делаю неправильно.
Пытаюсь на своем сайте сделать все правильно, а именно вызывать pdoPage сразу с шаблоном, и обрабатывать данные заранее, через prepareSnippet. Но самостоятельно, у меня ничего не выходит — не хватает опыта. Подскажите, что делаю неправильно.
Получение полного списка полноразмерных картинок
Добрый день! У меня к вам такой вопрос, как можно получить полный список полноразмерных картинок конкретного товара?
Стандартный чанк tpl.msGallery.outer выглядит так:
Стандартный чанк tpl.msGallery.outer выглядит так:
<div id="msGallery">
<a rel="fancybox" href="[[+url:default=`/assets/components/minishop2/img/web/ms2_big.png`]]" target="_blank">
<img src="[[+360x270:default=`/assets/components/minishop2/img/web/ms2_medium.png`]]" width="360" height="270" alt="" title="" id="mainImage" />
</a>
<div class="row">
[[+rows]]
</div>
</div>
В данном случае картинка из переменной +320x270 это и есть крупная картинка, остальные мини-картинке формируются в другом чанке tpl.msGallery.row, собственно параметр [[+rows]] и говорит об этом. Не знаю особенностей MiniShop2, потому и спрашиваю, возможно ли, получить как-то массивом или списком переменных эти оригинальные картинки? Вывод товаров с определенным цветом
Вывод товаров определенного цвета:
[[!msProducts?
&parents=`0`
&innerJoin=`{"Options":{"class":"msProductOption"}}`
&groupby=`msProduct.id`
&where=`{"Options.key":"color","Options.value:IN":["Белый","Белая"]}`
]]
Вывод товаров с нужным именем файла-изображения:[[!msProducts?
&parents=`0`
&innerJoin=`{"msProductFile":{"alias":"File","on":"msProduct.id = File.product_id"}}`
&groupby=`msProduct.id`
&where=`{"File.name:LIKE":"%IMG_0049%"}`
]]
Не больше 2х LIKE, если не знаешь точного имени:&where=`{"File.name:LIKE":"%file1%","OR:File.name:LIKE":"%file2%"}`
или сколько угодно в IN, если знаешь:&where=`{"File.name:IN":["file1.jpg","file2.jpg"]}`
modx кодировка бд
Всем привет!
У меня возникла проблема с кодировкой базы данных в modx revo.
Сейчас все выглядит примерно так:
Кодировка => latin1_swedish_ci
На сайте все выводиться адекватно.
Начал искать информацию как сменить кодировку с latin1_swedish => utf8_general_ci
Нашел полезный скрипт:
Уважаемые пользователи может кто-то сталкивался с подобной проблемой?
Подскажите как сделать адекватное отображение русских символов на сайте.
Спасибо за внимание.
У меня возникла проблема с кодировкой базы данных в modx revo.
Сейчас все выглядит примерно так:
Кодировка => latin1_swedish_ci
На сайте все выводиться адекватно.
Начал искать информацию как сменить кодировку с latin1_swedish => utf8_general_ci
Нашел полезный скрипт:
<?php
$dbname = 'dbname';
if (!mysql_connect('localhost', 'login', 'password')) {
print 'Could not connect to mysql';
exit;
}
$result = mysql_list_tables($dbname);
if (!$result) {
print "DB Error, could not list tables\n";
print 'MySQL Error: ' . mysql_error();
exit;
}
while ($row = mysql_fetch_row($result)) {
$sql_s = "ALTER TABLE ".$row[0]." CONVERT TO CHARACTER SET utf8";
mysql_query($sql_s);
$sql = "SELECT * FROM ".$row[0];
mysql_query('SET NAMES latin1');
$res = mysql_query($sql);
while($rows = mysql_fetch_assoc($res))
{
$array_table[$row[0]][] = $rows;
$zapros = '';
foreach($rows as $key=>$value)
{
$zapros .= ' , `'.$key.'` = "'.mysql_real_escape_string($value).'" ';
}
$zapros = substr($zapros, 2);
$sql_a = "UPDATE ".$row[0]." SET ".$zapros." WHERE id = ".$rows['id'];
mysql_query('SET NAMES utf8');
mysql_query($sql_a);
}
}
?>
Запустил из корня. Все корректно выполнилось. Зашел в БД -> все адекватно выводиться, кодировка изменилась. Захожу на сайт, а там крякозябры. :(Уважаемые пользователи может кто-то сталкивался с подобной проблемой?
Подскажите как сделать адекватное отображение русских символов на сайте.
Спасибо за внимание.
Вопрос по gravatar в HybridAuth
Добрый день всем!
Не могу найти в базе данных таблицу, где хранится изображение, загруженное пользователем через сервис gravatar. Подскажите, пожалуйста, где искать.
Я нашла единственную таблицу, которая, судя по ее названию, должна относиться к компоненту HybridAuth — ..._ha_user_services. Но там хранятся изображения аватарок из соц. сетей.
Не могу найти в базе данных таблицу, где хранится изображение, загруженное пользователем через сервис gravatar. Подскажите, пожалуйста, где искать.
Я нашла единственную таблицу, которая, судя по ее названию, должна относиться к компоненту HybridAuth — ..._ha_user_services. Но там хранятся изображения аватарок из соц. сетей.
modx процессоры.
Здравствуйте. Второй день я пытаюсь разобраться в технологии создания процессоров. Помогите мне пожалуйста разобраться.
Доп. поле в minishop2 и значение по умолчанию как?
Каким образом задать значение по умолчанию для поля типа varchar?
модель
модель
<?php
// Файл /core/components/minishop2/plugins/dimension/model/msproductdata.map.inc.php
return array(
'fields' => array(
'dimension' => 'test'
)
,'fieldMeta' => array(
'dimension' => array(
'dbtype' => 'varchar'
,'precision' => '350'
,'phptype' => 'string'
,'null' => true
,'default' => 'test'
)
)
);
Модель безопасности в MODX
Модель безопасности в MODX не самая очевидная. Хотя в MODX присутствуют примитивы, присущие, например, модели безопасности SQL, их предназначение в MODX несколько отличается.
При настройке безопасности конечной целью является дать каждому пользователю соответвующий набор привилегий – разрешить ему совершать определенные действия в системе. Действия могут совершаться над различными объектами: страницами (resource), контекстами (context), чанками (chunk), переменными шаблонов (TV) и т.д. Сами действия могут быть очень разными, в простейшем случае это создание, просмотр, редактирование и удаление. Таким образом, задача настройки безопасности сводится к заданию отношений между пользователями, объектами и привилегиями.
При настройке безопасности конечной целью является дать каждому пользователю соответвующий набор привилегий – разрешить ему совершать определенные действия в системе. Действия могут совершаться над различными объектами: страницами (resource), контекстами (context), чанками (chunk), переменными шаблонов (TV) и т.д. Сами действия могут быть очень разными, в простейшем случае это создание, просмотр, редактирование и удаление. Таким образом, задача настройки безопасности сводится к заданию отношений между пользователями, объектами и привилегиями.
RESTful APIs на MODX 2.3
Есть интересная новинка в 2.3
для создания api на REST.
rtfm.modx.com/revolution/2.x/developing-in-modx/advanced-development/developing-rest-servers
Кто уже работал, можете поделиться впечатлениями? как в работе с нагрузками.
Кто как использует.
Мало очень документации, интересны уроки…
когда делал по документации, были проблемы…
сделал по этому примеру (в комментах pixelchutes) gist.github.com/splittingred/2346752
все заработало
для создания api на REST.
rtfm.modx.com/revolution/2.x/developing-in-modx/advanced-development/developing-rest-servers
Кто уже работал, можете поделиться впечатлениями? как в работе с нагрузками.
Кто как использует.
Мало очень документации, интересны уроки…
когда делал по документации, были проблемы…
сделал по этому примеру (в комментах pixelchutes) gist.github.com/splittingred/2346752
все заработало
В MODX 2.3.x изменена логика фильтра вывода toPlaceholder
Возможно, это незначительное изменение, но у некоторых разработчиков может что-то поломаться, как у меня)
Так вот, раньше такой код
выводил
То есть, модификатор toPlaceholder не только устанавливал нужный плейсхолдер, но и выводил результат. В официальной документации даже осталось пояснение по этому ПОВОДУ:
В версии 2.3.0 и старше добавлена строчка, очищающая $output при использовании этого модификатора, так что теперь код
сам по себе не выводит НИЧЕГО. Будьте внимательны и проверьте, не сломалось ли у вас ничего после обновления.
Так вот, раньше такой код
[[!snippet:toPlaceholder=`placeholder`]]
[[+placeholder]]
выводил
result
result
То есть, модификатор toPlaceholder не только устанавливал нужный плейсхолдер, но и выводил результат. В официальной документации даже осталось пояснение по этому ПОВОДУ:
Puts the input value into the passed placeholder. Does not prevent the output of the TV value, so add [[*someTV:toPlaceholder=`placeholder`:notempty=``]] if you don't want to output the value of the TV itself.
В версии 2.3.0 и старше добавлена строчка, очищающая $output при использовании этого модификатора, так что теперь код
[[!snippet:toPlaceholder=`placeholder`]]
сам по себе не выводит НИЧЕГО. Будьте внимательны и проверьте, не сломалось ли у вас ничего после обновления.