Всего 123 791 комментарий

Илья Уткин
20 декабря 2012, 11:10
0
Попробуйте посмотреть, как я сделал на сайте kids-size.ru/

Там вся организация расположения меню в css, а в коде меню выглядит так:

<nav>
[[Wayfinder? &startId=`12`]]
</nav>
Илья Уткин
20 декабря 2012, 11:06
0
Есть еще один вариант — на странице вывода одного документа вызывать чанк с параметром:
[[$tpl.resource? &pagetitle=`[[*pagetitle]]`]]
Тогда в чанк будет передан плейсхолдер [[+pagetitle]], в котором будет значение текущего [[*pagetitle]]
Василий Наумкин
19 декабря 2012, 21:52
0
На 99% уверен в том, что вы используете ускоритель php на сервере и не выставили верный кэшер.

Если все выставлено как надо — попробуйте просто отключить memcache\php-apc. Если проблема исчезнет — крутите настройки хостинга.
Alexei Garmash
19 декабря 2012, 21:45
0
Василий, спасибо за ответ.
Попробовал применить — проблема оказалась не в этом.

Буду очень Вам благодарен, если сможете натолкнуть на мысль:
есть сайт qbk.com.ua/
работает на сервере, сконфигурированном по мануалу howitmake.ru/blog/ubuntu/80.html (все кроме виртуального хоста, он адаптирован под MODx).

Есть основная проблема с работой сессии: товары могут сами выпадать из корзины при переходе на другую страницу, залогиненный пользователь не может разлогиниться.

Кроме того, в админке не хочет работать TinyMce (не уверен, что это как-то взаимосвязано).

Что MODx может не нравиться?

PS я понимаю, что не очень красиво такое спрашивать, т.к. использовал не Ваш мануал и скрипт магазина. Как я уже говорил, немного поздно нашел Ваш блог.
Василий Наумкин
19 декабря 2012, 20:37
0
Ничего не нужно, Revolution работает с сессией и кэшем самостоятельно.
Alexei Garmash
19 декабря 2012, 20:35
0
Здравствуйте!
Жаль, что не напал на серию Ваших мануалов раньше.
Решил поднять сайт на Revo без Apache на VPS от Hetzner.
Собирал Nginx, php-fpm, MySQL, Memcached, но по другому мануалу и сейчас имею проблемы с кешированием.

В связи с этим мой вопрос: при подключении memcached в Modx, обязательно ли менять настройки в php.ini с тех, что стоят по-умолчанию:

session.save_handler = files
; session.save_path = «N;/path»

на, к примеру, вот такие (найденные на просторах интернета):

session.save_handler = memcache
; change server:port to fit your needs…
session.save_path=«tcp://127.0.0.1:11211?persistent=1&weight=1&timeout=1&retry_interval=15»

Извините, что издалека.
Roman Koptev
19 декабря 2012, 19:22
0
Ok, Спасибо. будем мануалы изучать, может получится…
Василий Наумкин
19 декабря 2012, 18:57
0
Не знаю.

По идее, только схему написать и модель сгенерировать. Но ни разу не пробовал.
Руслан Юсипов
19 декабря 2012, 16:18
0
проблема решилась
добавил в php.ini
open_basedir = /usr/share/phpmyadmin/
Пётр Молчанов
19 декабря 2012, 15:23
0
У мя со 2м способом были проблемы в свое время, плейсхолдер формировался после того, как формировался чанк head, где и использовал этот холдер, соответственно, всегда и везде плейсхолдер был пустой. Валентин Расулов объяснял мне тогда с чем это может быть связано, но я уже забыл. И у себя я реализовал через 2 чанка, т.е. 3 способ :)
Руслан Юсипов
19 декабря 2012, 10:07
0
А как сделать так чтобы через конфиг сайта подключался phpmyadmin?
внес в конфиг следующие строки, предварительно установив phpmyadmin

#Работа с phpMyAdmin
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}

но выдает чистую страницу.
Что я делаю не так подскажите пожалуйста.
Ivan K
19 декабря 2012, 09:17
0
Поэтому я здесь… сейчас почитаю, спасибо!
Александр Иващенко
19 декабря 2012, 00:59
0
Спасибо за ваши подсказки. Справился :)
вот код
<?php
$catalog_root_id = 3;
$depth = 5;

if (!$modx->hasPermission('edit_document'))
    return $modx->error->failure($modx->lexicon('access_denied'));

$miniShop = $modx->getService('minishop','miniShop',$modx->getOption('core_path').'components/minishop/model/minishop/',array());
if (!($miniShop instanceof miniShop))
    return 'Class not found!';

echo '<pre>';

$ids = $modx->getChildIds($catalog_root_id, $depth);
$docs = $modx->getCollection('modResource', array(
    'id:IN' => $ids
    ,'alias:!=' => 'f'
    ,'isfolder' => 0
));
echo "<p>Количество найденных товаров: " . count($docs) . " шт.<p>";
foreach($docs as $res) {
    if (!$good = $modx->getObject('ModGoods', array('gid' => $res->get('id')))) {
        $good = $modx->newObject('ModGoods');
    }
    $good->set('gid', $res->get('id'));
    $good->set('wid', 1);
    $good->set('price', floatval($res->getTVValue('tovarPrice')));
    $result = $good->save();
    echo $result
        ? "<p style=\"color:green\"><b>{$res->get('id')}</b> успешно обновлена цена товара с TV значения</p>"
        : "<p style=\"color:red\"><b>{$res->get('id')}</b> не удалось импортировать цену с TV значения</p>";
}

die;
Василий Краковецкий
18 декабря 2012, 22:26
0
Я случайно! Простите великодушно!
Василий Наумкин
18 декабря 2012, 22:26
0
Есть только один способ научиться — смотреть на тех, кто умеет.

bezumkin.ru/blog/252/
Василий Наумкин
18 декабря 2012, 22:25
0
Ты раскрыл нашу самую страшную тайну!!!
Виталий Киреев
18 декабря 2012, 20:26
0
Посмотрите код любого компонента, у которого есть свои таблицы или страница в менеджере, будет понятнее.
Василий Краковецкий
18 декабря 2012, 20:05
0
[[!mFilter?
&includeMS=`1`
&includeMSList=`price,add1,add2`
&includeTVs=`0`
&tpl=`tpl.msGoods.row`
&templates=`[[++minishop.goods_tpl]]`
]]

а это ни на что не намекает?
Ivan K
18 декабря 2012, 19:30
0
Я только сегодня начал копать в эту сторону, поэтому пока могу ответить только так — %) Спасибо, постараюсь погуглить в эту сторону!