We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 10700
    • 104 Posts
    Еще раз здравствуйте. Есть боковая панель, в зависимости от id страницы там выводятся различные данные. Увы опыта хватило только на то чтобы написать вот это:

    <?php
    $id = $_GET[’id’];


    switch($id)
    {
    // В зависимости от id выводим различные сниппеты и чанки:
    case 1: {echo "{{newsfrontpage}}"; break;}
    case 2: {echo " "; break;}
    case 3: {echo " "; break;}
    case 4: {echo " "; break;}
    case 5: {echo " "; break;}
    case 6: {echo " "; break;}
    case 7: {echo " "; break;}
    case 8: {echo " "; break;}
    case 9: {echo " "; break;}
    case 10: {echo " "; break;}
    case 11: {echo " "; break;}
    case 12: {echo " "; break;}
    case 13: {echo " "; break;}
    case 14: {echo " "; break;}
    case 15: {echo " "; break;}
    case 16: {echo " "; break;}
    case 17: {echo " "; break;}
    case 18: {echo " "; break;}
    case 19: {echo " "; break;}
    case 20: {echo " "; break;}
    case 21: {echo " "; break;}
    case 22: {echo " "; break;}
    case 23: {echo " "; break;}
    case 24: {echo " "; break;}
    case 25: {echo " "; break;}
    case 26: {echo " "; break;}
    case 27: {echo " "; break;}
    case 28: {echo " "; break;}
    case 29: {echo " "; break;}
    case 30: {echo " "; break;}
    case 31: {echo " "; break;}
    case 32: {echo " "; break;}
    case 33: {echo " "; break;}
    case 34: {echo " "; break;}
    case 35: {echo " "; break;}
    case 36: {echo " "; break;}
    case 37: {echo " "; break;}
    case 38: {echo " "; break;}
    case 39: {echo "[[gallery? &dir=`assets/images/museum2/`]]"; break;}
    case 40: {echo " "; break;}
    case 41: {echo " "; break;}
    case 42: {echo " "; break;}
    case 43: {echo " "; break;}
    case 44: {echo " "; break;}
    case 45: {echo " "; break;}
    case 46: {echo " "; break;}
    case 47: {echo " "; break;}
    case 48: {echo " "; break;}
    case 49: {echo " "; break;}
    case 50: {echo " "; break;}
    case 51: {echo " "; break;}
    case 52: {echo " "; break;}
    case 53: {echo " "; break;}
    case 54: {echo " "; break;}
    case 55: {echo " "; break;}
    case 56: {echo " "; break;}
    case 57: {echo " "; break;}
    case 58: {echo " "; break;}
    case 59: {echo " "; break;}
    case 60: {echo " "; break;}
    case 61: {echo " "; break;}
    case 62: {echo " "; break;}
    case 63: {echo " "; break;}
    case 64: {echo " "; break;}
    case 65: {echo " "; break;}
    case 66: {echo " "; break;}
    case 67: {echo " "; break;}
    case 68: {echo " "; break;}
    case 69: {echo " "; break;}
    case 70: {echo " "; break;}
    case 71: {echo " "; break;}
    case 72: {echo " "; break;}
    case 73: {echo " "; break;}
    case 74: {echo " "; break;}
    case 75: {echo " "; break;}
    case 76: {echo " "; break;}
    case 77: {echo " "; break;}
    case 78: {echo " "; break;}
    case 79: {echo " "; break;}
    case 80: {echo " "; break;}
    // ...и так до бесконечности

    // так как главную страницу можно вызвать не указывая id надо добавить вот это:
    default: {echo "{{newsfrontpage}}"; break;}
    // изза этого как раз код и разрастается, там. увы-(
    }
    ?>

    Можно ли как нибудь все это сделать более компактно? или вообще по другому. Может есть альтернатива?
      • 19164
      • 1,215 Posts
      Ужоснах, простите за мой французский. Во-первых на форуме уже обсуждались варианты вывода содержимого в зависимости от условий (ид страницы или там значения ТВ-параметра).

      Я как проповедник плагина PHx всегда двигаю его (если не в курсе что это - бегом в репозиторий). Данный плагин позволит включать прямо в шаблон (при необходимости можно вынести и в чанк) подобные конструкции

      [*id:is=`1`:then=`{{newsfrontpage}}`*]
      [*id:is=`39`:then=`[[gallery? &dir=`assets/images/museum2/`]]`*]

      и т.д.

      Ну а если хотите просто оптимизировать свой код
      switch($modx->documentIdentifier)
      {
      case 1: {echo "{{newsfrontpage}}"; break;}
      case 39: {echo "[[gallery? &dir=`assets/images/museum2/`]]"; break;}
      }
        DirectResize 0.9 beta. PHPThumb, sets of configurations, configuration, binded to specific path. No backward compatibility. | DirectResize 0.9. PHPThumb, наборы параметров, параметры, привязанные к определенным путям. Без обратной совместимости.

        Unfortunately, DirectResize project is closed. If you want to continue development, PM me for access to project page on Google Code. К сожалению, проект DirectResize закрыт. Если вы желаете продолжить разработки, обращайтесь через ПМ для получения доступа к репозиторию на Google Code.

        [PLUGIN] DirectResize - as Maxigallery but for single images :: Download :: [url=http://modxcms.com/forums/index.php/topic,21490]
        • 10700
        • 104 Posts
        огромное спасибо, увы не знал об этом плагине. уже бегу!
          • 10700
          • 104 Posts
          хм.. а как им пользоваться то?
            • 10700
            • 104 Posts
            Хотя, уже не надо. Заменил свой код на ваш. Вполне устраивает-)