Сен

6

Если вы с помощью Joomla! 1,5 и испытаны на IE7, можно найти PDF проблемой, когда какой-либо PDF файл не может корректно отображать в IE7. Обычный симптом заключается в том, что всплывающее окно остается пустым.

Есть 2 этапа:

1. Creata новый файл с именем browser_detection.php и загрузить его на свой Joomla! сайт.
2. Изменить icon.php в 2 места, а затем загрузите его на свой Joomla! сайт.

ШАГ 1
Создать PHP-файл с именем browser_detection.php. Вы можете это сделать в любом текстовом редакторе или Dreamweaver. Копировать, вставлять и сохранять следующую в свой новый файл:


  <? PHP 

  / * 
  Сценарист Имя: Простой 'если' PHP Обозреватель обнаружения 
  Автор: Надежда Харальд, Интернет-сайт: http://TechPatterns.com/ 
  Сценарий Источник URI: http://TechPatterns.com/downloads/php_browser_detection.php 
  Версия 2.0.2 
  Copyright (C) 29 июня 2007 

  Модифицированные 22 апреля 2008 года Джон Czerwinski 
  Добавлена версия IE 7 обнаружения 

  Данная программа является свободным программным обеспечением; вы можете распространять его и / или модифицировать его в соответствии с 
  Условия GNU General Public License, опубликованной Free Software 
  Фонд; либо версии 3, либо (по вашему выбору) любой более поздней версии. 

  Эта программа распространяется в надежде, что она будет полезной, но БЕЗ 
  НИКАКИХ ГАРАНТИЙ, даже без подразумеваемых гарантий КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ 
  FOR A PARTICULAR PURPOSE.  См. GNU General Public License для более подробной информации. 

  Получить полный текст GPL здесь: http://www.gnu.org/licenses/gpl.txt 

  Кодирование конвенций: 
 http://cvs.sourceforge.net/viewcvs.py/phpbb/phpBB2/docs/codingstandards.htm?rev=1.3 
  * / 

  / * 
  тем имеет важное значение, потому что опера должна проверяться во-первых, и IE4 тестирование на т.е. до общего 
  одинаковым для Konqueror, то Safari, затем геккон, поскольку сафари Навигатор User Agent идентификаторов с "геккон" в строке. 
  отметить, что $ dom_browser установлен для всех современных браузерах дом, это дает вам умолчанию использовать, к сожалению, мы 
  не понял из способов сделать это с фактическим метод тестирования, который будет гораздо лучше и надежными. 

  Обратите внимание: вы должны вызвать функцию, чтобы получить доступ к переменным, вы называете его так: 

  browser_detection ( 'браузер'); 

  Затем вам код, который вы хотите использовать переменные с после этого. 

  * / 

  Функция browser_detection ($ which_test) ( 

	  / / Инициализация переменных 
	  $ браузер =''; 
	  $ dom_browser =''; 

	  / / Установлен в нижнем регистре, чтобы избежать ошибок, проверьте, чтобы в случае HTTP_USER_AGENT установлен 
	  $ navigator_user_agent = (isset ($ _SERVER [ 'HTTP_USER_AGENT']))?  strtolower ($ _SERVER [ 'HTTP_USER_AGENT']):''; 

	  / / Запустить через главный браузер возможности, назначить их на главный браузер переменная $ 
	  если (stristr ($ navigator_user_agent, "Опера")) 
	  ( 
		  $ браузер = 'опера'; 
		  $ dom_browser = TRUE; 
	  ) 

  / * 
  Тест для IE 7 добавил 
  22 апреля 2008 
  Джон Czerwinski 
  * / 
	  ELSEIF (stristr ($ navigator_user_agent ", MSIE 7")) 
	  ( 
		  $ браузер = 'msie7'; 
		  $ dom_browser = FALSE; 
	  ) 

	  ELSEIF (stristr ($ navigator_user_agent, "MSIE 4")) 
	  ( 
		  $ браузер = 'MSIE4'; 
		  $ dom_browser = FALSE; 
	  ) 

	  ELSEIF (stristr ($ navigator_user_agent, "MSIE")) 
	  ( 
		  $ браузер = 'MSIE'; 
		  $ dom_browser = TRUE; 
	  ) 

	  ELSEIF ((stristr ($ navigator_user_agent, "Konqueror")) | | (stristr ($ navigator_user_agent, "Safari"))) 
	  ( 
		  $ = браузера "Safari"; 
		  $ dom_browser = TRUE; 
	  ) 

	  ELSEIF (stristr ($ navigator_user_agent, "Gecko")) 
	  ( 
		  $ браузер = 'Mozilla'; 
		  $ dom_browser = TRUE; 
	  ) 

	  ELSEIF (stristr ($ navigator_user_agent, "Mozilla / 4")) 
	  ( 
		  $ браузер = 'NS4'; 
		  $ dom_browser = FALSE; 
	  ) 

	  еще 
	  ( 
		  $ dom_browser = FALSE; 
		  $ браузера = FALSE; 
	  ) 

	  / / Возвращает результат теста вы хотите 
	  если ($ which_test == 'браузер') 
	  ( 
		  вернуть $ браузера; 
	  ) 
	  ELSEIF ($ which_test == 'дом') 
	  ( 
		  вернуть $ dom_browser; 
		  / / Примечание: $ dom_browser это булево значение, верно / неверно, поэтому вы можете протестировать, если 
		  / / Это справедливо или нет. 
	  ) 
  ) 

  / * 
  Вы бы назвал его так: 

  $ user_browser = browser_detection ( 'браузер'); 

  если ($ user_browser == 'опера') 
  ( 
	  делать что-то; 
  ) 

  или так: 

  если (browser_detection ( 'дом')) 
  ( 
	  выполнить код дом браузеры 
  ) 
  еще 
  ( 
	  выполнить код, не DOM браузеры 
  ) 

  и так далее ....... 

  * / 
 ?> 

Загрузка browser_detection.php к папке библиотеки / Joomla / Utilities / на вашем сайте.


ШАГ 2
Найдите файл icon.php в папке компоненты / com_content / помощники /. Примечание: Сделайте копию этого файла, чтобы вы могли восстановить его, если необходимо.

Под

  require_once ( "Библиотеки / Joomla / Utilities / browser_detection.php"); 

Замените эту строку кода по разделу 58

  $ attribs [ 'onclick'] = "window.open (this.href, 'win2','".$ статус ."'); вернуться ложным"; 

со следующим кодом:

  $ user_browser = browser_detection ( 'браузер'); 
            если ($ user_browser == 'msie7') ( 
               $ attribs [ 'целевой'] = '_blank'; 
            () Другое 
               $ attribs [ 'onclick'] = 
      "window.open (this.href, 'win2','".$ статус ."'); вернуться 
      ложной "; 
            ) 

Сохраните файл и загрузите его на компоненты / com_content / помощники /.

Примечание: Кэш браузера, возможно, необходимо будет очистить, прежде чем вы можете посмотреть PDF работает.

Digg Facebook Google Newsvine Reddit Slashdot Technorati Windows Live Yahoo del.icio.us



Аналогичные сообщения

Комментарии

Имя (обязательно)

Email (обязательно)

Веб-сайт

Говорите ваш ум

7 Комментариев пока

  1. Руди Pandu по 8 сентября, 2008 3:13 AM

    Большое спасибо за это. Я надеюсь, что моя проблема решена. Нужно время, чтобы они опробовали ее.

  2. Роб Fallows по 30 сентября, 2008 7:25 AM

    У меня он работает, но несколько вопросов:

    1. Мне пришлось положить browser_detection функционировать в рамках icon.php - это не автоматически найти загруженный файл.

    2. Фрагмент кода, который заменил "window.open" строки в icon.php тесты для браузера типа "msie7". Эта величина никогда не установленных browser_detection функции. Изменено "msie7" на "MSIE", и все это работало.

    Спасибо за большое исправить.

  3. Admin 30 сентября, 2008 9:33 AM

    Спасибо! Роб. за большой вклад. :)

  4. Десмонд октября 22, 2008 12:56 AM

    Может ли кто-нибудь помочь мне получить эту работу за компонент? Мне нужно PDF кнопки на моем компоненте я написал. Я совершенно новые разработки в Joomla. Ее вполне актуальной. Я пишу портал для местных авиакомпаний ее интеграции в Oracle основано графиков системы.

  5. Рокко Moretto декабря 11, 2008 7:24 AM

    Прежде всего благодарю вас заранее. Я использую версию Joomla 1.5.8. Кажется, что моя icon.php код не совпадает с Вашей записки о исправить. Возможно ли, что у вас есть лиса на пустую коробку PDF с использованием Joomla 1.5.8?

  6. ALFREDO БЕЛЛО декабря 13, 2008 4:50 AM

    GRACIAS POR El Trabajo realizado, PERO CREO QUE EN ESTA Адрес этой Más Кларо Y resumido

    http://docs.joomla.org/PDF_Display_Fix_in_IE7

  7. Администратор 13 декабря, 2008 11:24 PM

    Привет, Morreto

    Найдите следующую строку в icon.php, он должен быть там, даже если вы используете последнюю версию:

    $ attribs [ 'onclick'] = "window.open (this.href, 'win2','".$ статус ."'); вернуться ложным";

Спонсоры




Ссылки