Контроллеры в клиентском разделе

#
Re: Контроллеры в клиентском разделе
Вообще-то с вашей системой цен многие клиенты предпочитают покупать лицензии на себя — зачем им делать это у меня, если разницы в цене никакой? Впрочем, действительно закончим. Я вижу разницу с любым из современных фреймворков и в документации, и в уровне поддержки — и совершенно верно, больше вряд ли куплю здесь коммерческую лицензию или кому-то посоветую эту CMS.
http://superweb.pro/ — сайты на HostCMS под ключ
#
Re: Контроллеры в клиентском разделе
dogstudio, не подменяйте, пожалуйста, объективную оценку системы вашим личным ее непониманием.

Вы же не первый год в веб разработке,  и с hostcms мы с вами работаем примерно одинаковое количество времени, но почему-то вы задаете порою такие вопросы, которые вызывают у меня недоумение из разряда "чего тут непонятного?".
А лучшая документация по системе - это сама система.
Да, по 5й версии было хорошее описание API, да по 6й версии его на данный момент нет. Зато 6я версия отлично изучается путем поиска по коду в папке modules, что дополнительно дает более полное понимание устройства системы.
С техподдержкой у меня тоже проблем не было, все найденные баги фиксятся, все серьезные вопросы получают ответ.

И, надо сказать, что ответ на ваш вопрос находится поиском по коду системы за пару минут, тут даже на форуме не о чем спрашивать - просто читаете обычную ТДС ИС, находите там подходящие по смыслу слова и экспериментируете с ними
Заказов не беру. Консультирую редко.
#
Re: Контроллеры в клиентском разделе
Kotoff писал(а):
Надо смотреть в кодах классов в /modules/ там видна и понятна вся логика

Мне пока русский текст понятнее кода с тремя комментариями. А parseUrl() ассоциируется с разбором URL, а не с формированием страниц. Собственно, в документации я хотел понять "оно" это или нет. А потом бы я был готов разбираться в коде.
Но бегло просмотрев весь листинг нескольких классов, понять что именно мне применять, я пока не умею. А досконально разбираться с каждой функцией чисто физически времени нет.
#
Re: Контроллеры в клиентском разделе
1) Я понимаю, что нет времени чтобы сразу заполнить всю документацию по API, да и другой работы ещё очень много. Но ведь многие вопросы не по разу обсуждаются на форуме. Почему бы, дав развернутый ответ на форуме, сразу не скопировать его в документацию?
Тогда появляется и мотивация более четко формулировать ответы и работу не придется два раза делать. А так со временем и документация будет заполняться, и вопросов меньше, и можно будет отвечать, просто дав ссылку на соответствующий пункт в документации.

2) Для понимания чего-либо важен не только сам ответ, инструмент или факт, но и контекст. Контекст дает, например, систематизация, логика и структура. Для опытных пользователей и модераторов он естественным образом уже сложился, поэтому некоторые вопросы новичков кажутся глупыми, элементарными и вызывают недоумение, а в итоге получаем некие отписки или "бросание" фактами.

Вопросы новичка часто возникают не из-за непонимания элементарных вещей, а из-за пробелов в этом контексте. Но формулируются вопросы фактологически. Получив в ответ факт-винтик, пользователь элементарно не знает куда его вкрутить и понимает, что ответа не получил, точнее получил, но что-то не то.

В этой ситуации виноваты обе стороны: и пользователь, которые не смог правильно сформулировать свой вопрос и отвечающий, который не может понять, что не всё очевидное для него является очевидным для другого человека.

Поэтому давайте будет терпимее друг к другу. В конце концов, дело общее.

При этом, надо бы учесть этот момент и в документации. Документация справочного вида не дает видения системы, так же как и изучение кода классов - это просто описание фактов. Необходимо описание логики взаимодействия между элементами системы, а так же их роль в общей структуре. Тогда, я уверен, вопросов будет меньше, хотя, конечно полностью не исчезнут.
Иначе, как сейчас, контекст будет нарабатываться личным опытом и ошибками разработчиков, и сопровождаться глупыми вопросами на форуме, на которые придется отвечать.
#
Re: Контроллеры в клиентском разделе
Контекст, Stepan0v, он только так и нарабатывается. На чужом опыте контекста не наработаешь.
Заказов не беру. Консультирую редко.
Модератор
#
Re: Контроллеры в клиентском разделе
Stepan0v, если что-то непонятно в ответе, то обязательно уточняете что именно непонятно, исключая варианты "мне ничего(все) непонятно". Судя по количеству сообщений в темах, пользователи находят ответы на свои вопросы.

С другой стороны, включение пользователем "дурачка" с требованием выполнить индивидуальную работу за него и попытка переложить такую работу на модераторов или поддержку в большинстве случаем не пройдет, равно как и публичное порицание такого отказа. Исключением могут быть решения, уникальность и польза которых будет доступна большому кругу пользователей, такие решения мы публикуем в соответствующих разделах форума. Также на нашем форуме не удастся получить консультации по основам PHP, для этого есть книги и множество других, менее специализированных форумов.

Stepan0v писал(а):
Поэтому давайте будет терпимее друг к другу. В конце концов, дело общее.
+100500
#
Re: Контроллеры в клиентском разделе
Kotoff писал(а):
Контекст, Stepan0v, он только так и нарабатывается. На чужом опыте контекста не наработаешь.

Можно учиться на ошибках, а можно у учителей. Это разные вещи.

HostCMS писал(а):
Судя по количеству сообщений в темах, пользователи находят ответы на свои вопросы.

Я не о том, что нет ответов, а о том, как уменьшить вопросы и упростить ответы.

HostCMS писал(а):
публичное порицание такого отказа.

Отказы бывают разные. Иногда встречаются достаточно некорректные формы: "говнокоды" и пр. Мне лично всё равно, мне результат интересен. Но люди разные бывают. И для кого-то это оскорбление.
Если человек плохо знает php - это ещё не значит, что он быдло. Может от крестиком классно вышивает, а php только начал учить. Давайте относиться к людям по-человечески.

С другой стороны, опытные пользователи уже пользуются HostCMS, поворчат и дальше будут пользоваться. А новички, если смогут вначале разобраться и стартонуть, то в будущем могут стать новыми постоянными клиентами (а это обороты, продажи и пр.). Но хамство может остановить их на этом пути.

Никто не заставляет делать чужую работу, но, например, отказ можно корректно обосновать и предложить решение. (Чаще всего вы так и делаете, но не всегда)
HostCMS писал(а):
не удастся получить консультации по основам PHP, для этого есть книги

Так сделайте, например, тему, где будут ссылки на основы и книги (как это есть для XSL). И посылайте людей, образно говоря, не на ***, а в эту тему. Думаю, 90% новичков будут вам благодарны. Я сам готов поделиться своими ссылками.

P.S. Извиняюсь за оффтоп.
#
Re: Контроллеры в клиентском разделе
Здравствуйте господа, помогите советом, Излагаю суть вопроса:
Решил я на странице просмотра товара, ниже самого этого товара отобразить блок и назвать его ну скажем "Другие товары этого производителя". Для того чтобы это реализовать, я создал xsl-шаблон "ПодобныеТовары", а в самом конце кода ТДС разместил такой код

// если мы находимся на странице товара
if ($Shop_Controller_Show->item)
{

      // $shop->ShowShop($shop_id, 'ПодобныеТовары', $param);

      $Shop_Controller_Show = new Shop_Controller_Show(
         Core_Entity::factory('Shop', '1')
      );
      $Shop_Controller_Show
         ->xsl(
            Core_Entity::factory('Xsl')->getByName('ПодобныеТовары')
         )
         ->groupsMode('none')
         //->itemsForbiddenTags(array('text'))
         ->group(FALSE)
                        ->producer(57)
         ->limit(12);

      $Shop_Controller_Show
         ->shopItems()
         ->queryBuilder()
         ->clearOrderBy()
         ->orderBy('RAND()');

      $Shop_Controller_Show->show();
   }

Чем я руководствовался? я подумал что не плохо вытащить все товары из всех групп, а потом как бы отфильтровать их по производителю. Метод  "->producer(57)" выводит мне только товары производителя с  id=57, а как мне задать чтоб айди ставился автоматически в зависимости от того на странице какого товара с каким айди-производителя мы находимся? Прошу не ругать сильно, если что не так.
#
Re: Контроллеры в клиентском разделе
попробуйте после
$Shop_Controller_Show = new Shop_Controller_Show(
          Core_Entity::factory('Shop', '1')
       );

добавить
echo $Shop_Controller_Show->producer;

по идее должен отобразиться идентификатор производителя
HostDev.pw - модули для HostCMS, Telegram: @hostdev
Модератор
#
Re: Контроллеры в клиентском разделе
EugenyP, не отобразиться, т.к. на сайте фильтрации при показе товара фильтрация не идет вовсе.
antracit, Вам нужно сделать следующее:
// если мы находимся на странице товара
if ($Shop_Controller_Show->item)
{
   $oShop_Item = Core_Entity::factory('Shop_Item', $Shop_Controller_Show->item);
   if ($oShop_Item->shop_producer_id)
   {
      $Shop_Controller_Show = new Shop_Controller_Show(
       Core_Entity::factory('Shop', '1')
      );
      $Shop_Controller_Show
      ->xsl(
         Core_Entity::factory('Xsl')->getByName('ПодобныеТовары')
      )
      ->groupsMode('none')
      //->itemsForbiddenTags(array('text'))
      ->group(FALSE)
      ->producer($oShop_Item->shop_producer_id)
      ->limit(12);

      $Shop_Controller_Show
      ->shopItems()
      ->queryBuilder()
      ->clearOrderBy()
      ->orderBy('RAND()');

      $Shop_Controller_Show->show();
   }
}
Авторизация