On March 26, 2019 we launched new MODX Forums. Please join us at the new MODX Community Forums.
Subscribe: RSS
  • Не могу найти русифицированный AnythingRating. Подскажите ссылку, пожалуйста, если кто видел
    • А что там русифицировать то? Универсальный перевод не нужен, т. к. оценивать можно всё-что угодно (Anything), поэтому и термины используемые при оценке могут (и должны) отличаться. Вот вам, как затравка, мой файл:
      <?php
      /*
      russian(-UTF8).inc.php - for AnythingRating 1.0
      Description: языковой файл для AnythingRating
      */
      $_lang[’atr_intro’] = ’Рейтинг:’;
      $_lang[’atr_onestar_outof’] = ’%s из %n’;
      //$_lang[’atr_onestar_outof’] = ’%s попугай из %n’;
      $_lang[’atr_stars_outof’] = ’%s из %n’;
      //$_lang[’atr_stars_outof’] = ’%s попугая из %n’;
      $_lang[’atr_5stars_outof’] = ’%s из %n’;
      //$_lang[’atr_5stars_outof’] = ’%s попугев из %n’;
      $_lang[’atr_thanks_voting’] = ’Спасибо.’;
      $_lang[’atr_lbstars’] = ’’; // звёзд, попугаев и прочих...
      $_lang[’atr_lbvote’] = ’Голосов:’;
      $_lang[’atr_lbvotes’] = ’Голосов:’;
      $_lang[’atr_not_registered’] = ’Вы должны быть зарегистрированы.’;
      $_lang[’atr_already_voted’] = ’Голосовали уже.’;
      $_lang[’atr_enddate’] = ’Голосование закрыто.’;
      $_lang[’atr_more_less’] = ’You cannot rate this more than %n or less than %s’;
      $_lang[’atr_bestlabel’] = ’The best rated %s’;
      $_lang[’atr_worstlabel’] = ’The worst rated %s’;
      $_lang[’atr_hdrank’] = ’Rank’;
      $_lang[’atr_hdscore’] = ’Score’;
      $_lang[’atr_hdnbvotes’] = ’Nb votes’;
      $_lang[’atr_hdtitle’] = ’Title’;
      $_lang[’atr_hddescr’] = ’Description’;
      $_lang[’atr_hdimage’] = ’’;
      ?>
      Подправтье под свои нужды, сохраните в каталог lang, с имененем файла соответствующим используемой кодировке, и используйте на здоровье.
      • я почему спросил... Я открыл в менеджере файл с английским языком, вписал туда русские слова вместо английских, сохранил, открыл страницу с голосованием - всё ОК. Но только первый раз. Дальше стали показываться кракозябры. Открыл в менеджере опять правленный английский язык - и там кракозябры... Вот. Может, не надо было править файлы в менеджере?
        • Так бы исправшивали сразу.

          Создайте отдельный файл и переводите его. Если сниппет не подхватит его сам, то используйте параметр &language для явного указания имени языкового файла.

          И ещё. Если использовать на сайте UTF-8, то есть глюк — ajax ответы от сервера приходят в windows-1251 и на странице они отображаются крякозяблами.

          Не помню что я там ещё правил, для исправления этого безобразия, вроде как потребовалось добавить в самое начало файла classes/anythingRating.class.inc.php такую строчку кода
          header('Content-type: text/html; charset=UTF-8');
          • спасибо, вроде получилось... Перевел, закачал на сайт, сниппет подхватил переведенный сайт...
            Можно попутно вопрос по этому же "голосованию"? Чем отличается &atrId=`idItem` от &atrId=`anyId`? В документации в одном случае вызов идет так, в другом - с &atrId=`anyId`...
            • Ну а вы напиши ещё как нибудь - ничего от этого не изменится. Этот параметр сниппет использует для идентификации объекта оценки ("голо сования"), и только.

              Вот вам ещё один мой пример, из шаблона вывода Ditto
              [!AnythingRating? &atrGrp=`qThemes` &atrId=`[+id+]`!]
              Надеюсь теперь всё ясно.
              • спасибо за объяснения! можно еще вопрос? Получается, что я делаю страничку, вставляю контент и тут же к контенту должен добавить вызов рейтинга... Или можно прямо в шаблон добавить вызов?
                • Если отдельный шаблон у вас назначен для всех страничек на которых вы собираетесь размещать контент предполагающий голосование, то проще всего, конечно же, вызов голосовалки поместить в него. Убрать и изменить, если понадобится, тоже проще будет.

                  В противном случае, если шаблон один, лучше использовать TV типа CheckBox и с его помощью выводить\не выводить голосовалку на страницу (поставил галочку - будет голосовалку, убрал - не будет). Такой подход, кстати, даже с отдельным шаблоном даст большую гибкость.
                  Только вам придётся разобраться как сделать такой TV. Помню про это была одна из первых статей на modx.ru, но сохранилась ли...

                  Вставлять вызов прямо в контент документа, если документов будет больше трёх, - нерационально (глупо).
                  • Не могу понять что за проблема:
                    « MODx Parse Error »
                    
                    MODx encountered the following error while attempting to parse the requested resource:
                    « Execution of a query to the database failed - Table 'ekamarket.modx_atrating_ratings' doesn't exist »
                          SQL: SELECT rating_id as 'params', rating as 'nbStars', lastIP as 'atrTpl', nbIP, voteDate as 'endDate' FROM modx_atRating_ratings WHERE id = '1' 
                          [Copy SQL to ClipBoard]
                     
                    Parser timing
                      MySQL:	0.5568 s	(10 Requests)
                      PHP:	0.2731 s	 
                      Total:	0.8299 s	 
                    • Quote from: svfedorof at Feb 23, 2010, 07:05 PM
                      Не могу понять что за проблема:
                      « MODx Parse Error »
                      
                      MODx encountered the following error while attempting to parse the requested resource:
                      « Execution of a query to the database failed - Table 'ekamarket.modx_atrating_ratings' doesn't exist »
                            SQL: SELECT rating_id as 'params', rating as 'nbStars', lastIP as 'atrTpl', nbIP, voteDate as 'endDate' FROM modx_atRating_ratings WHERE id = '1' 
                            [Copy SQL to ClipBoard]
                       
                      Parser timing
                        MySQL:	0.5568 s	(10 Requests)
                        PHP:	0.2731 s	 
                        Total:	0.8299 s	 
                      Наткнулся на туже проблему - решилось тольку созданием в ручную базы данных
                      CREATE TABLE ИМЯБАЗЫ (
                      `id` int(11) NOT NULL auto_increment,
                      `rating_id` VARCHAR(80) NOT NULL,
                      `rating` int(11) NOT NULL,
                      `lastIP` varchar(255) NOT NULL,
                      `nbIP` int(11) NOT NULL,
                      `voteDate` TIMESTAMP(6),
                      PRIMARY KEY (`id`)
                      ) ENGINE=MyISAM;

                      Также выскакивала ошибка в строке 161 в файле classes \\ anythingRating.class.inc.php
                      деление на ноль