Разрешить копировать текст с указанных страниц

Обычно на сайты мы ставим скрипт запрещающий выделение и копирование текста. Иногда бывает необходимо чтобы на определенных страницах можно было выделять и копировать текст, например на странице с контактами. 

1. Создаем доп. свойство «xml_copy» с типом флажок для узлов структуры, а также для информационных элементов.
2. в макет, в <head></head> вставляем код

<?php

$copy = false;
if (is_object (Core_Page::instance ()->object) && get_class (Core_Page::instance ()->object) == 'Informationsystem_Controller_Show')
{
$Informationsystem_Controller_Show = Core_Page::instance ()->object;
if ($Informationsystem_Controller_Show->item) {
$oProperty = Core_Entity::factory ('Property', 70); // 70 — идентификатор дополнительного свойства элемента
$aPropertyValues = $oProperty->getValues ($Informationsystem_Controller_Show->item);
foreach ($aPropertyValues as $oPropertyValue)
{
// xml_copy = название доп. свойства
if ($oPropertyValue->Property->tag_name == 'xml_copy') {
$copy = $oPropertyValue->value;
break;
}
}
}
} else {
$oStructure = Core_Entity::factory ('Structure', CURRENT_STRUCTURE_ID);
$aPropertyValues = $oStructure->getPropertyValues ();
foreach ($aPropertyValues as $oPropertyValue)
{
if ($oPropertyValue->Property->tag_name == 'xml_copy') {
$copy = $oPropertyValue->value;
break;
}
}
}

if ($copy == false) {
// если копирование запрещено подключаем скрипт
? >
<script type= «text/javascript» src=»/hostcmsfiles/addtocopy.js»></script>
<?php
}
? >

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


16.05.2013, 907 просмотров.