настройка файла symfony view.yml - PullRequest
0 голосов
/ 25 октября 2010

У меня вопрос по поводу файла view.yml в Symfony. По сути, я хотел бы иметь возможность включать в свой макет определенные javascript SDK с помощью файла view.yml, например, так:

сначала я бы добавил запись в соответствующий файл вида:

all:
  load_facebook: true
  load_twitter: true
  stylesheets:    
  javascripts:  

, а затем в макете сделать что-то вроде:

<?php if (sfConfig::get('view_load_facebook', true)): ?>
          <div id="fb-root"></div>
          <script type="text/javascript">
            window.fbAsyncInit = function() {
              FB.init({
                appId: '<?php echo sfConfig::get('app_facebook_comment_app_id') ?>',
                status: true,
                cookie: true,
                xfbml: true
              });
            };
            (function() {
              var e = document.createElement('script'); e.async = true;
              e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
              document.getElementById('fb-root').appendChild(e);
            }());
          </script>          
<?php endif; ?>

К сожалению, я не могу получить параметр с помощью sfConfig :: get ('view_load_facebook'), поэтому я предполагаю, что они никогда не загружались. Кто-нибудь получил что-то подобное на работу? Я думаю, что было бы очень неплохо иметь эту опцию в файле view.yml, так как это было бы очень легко реализовать и очень гибко.

Спасибо

Винс

Ответы [ 2 ]

1 голос
/ 25 октября 2010

Вы можете сохранить свои пользовательские настройки в файле app.yml:

all:
  load_facebook: true
  load_twitter: true 

и затем обратитесь к sfConfig :: get (app_load_facebook)

0 голосов
/ 27 октября 2010

Не можете ли вы создать файл app.yml внутри каталога модуля?В любом случае, я не знаю, будет ли это хорошим решением.
В качестве альтернативы вы можете использовать слоты.
Или, может быть, даже лучше, поместить весь код SDK в файл JS и вставить его в представление.* YML 1003 *

...