Настройте элементы быстрого запуска для определенных страниц в sharepoint
У меня есть требование, когда клиент хочет настроить элементы в быстром запуске только для определенных страниц. Итак, я хочу заменить элементы в быстром запуске на некоторые другие элементы для нескольких страниц.(Не о том, чтобы изменить стиль быстрого запуска. о замене контента в быстром запуске)
Я надеюсь, что с помощью CEWP я смогу достичь этого. Но я не очень хорошо знаю, как это сделать.
2 ответа
Я выполнил следующие шаги, чтобы достичь цели
1.. Добавлен CEWP на странице
- Создал текстовый файл со следующим скриптом и добавил его в общие документы
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
function startClock(){
var div= document.getElementById('s4-leftpanel-content');
var spans= div.getElementsByTagName('span');
for (index = spans.length - 1; index >= 0; index--) {
spans[index].parentNode.removeChild(spans[index]);
}
var urls= div.getElementsByTagName('a');
for (index = urls.length - 1; index >= 0; index--) {
urls[index].parentNode.removeChild(urls[index]);
}
var pTag = document.createElement('p');
pTag.innerHTML = "HR Report";
div.appendChild(pTag);
var aTag = document.createElement('ul');
div.appendChild(aTag);
var newLi = document.createElement('li');
aTag.appendChild(newLi);
var a= document.createElement('a');
a.setAttribute('href',"url");
a.innerHTML = "report2";
newLi.appendChild(a);
//do onload work
}
if(window.addEventListener){
window.addEventListener('load',startClock,false); //W3C
}
else{
window.attachEvent('onload',startClock); //IE
}
</script>
enter code here
- Вставьте текстовый файл URL в общие документы в CEWP в качестве ссылки на контент (Изменить веб-часть >> ссылка на контент >> вставить URL)
Теперь существующие элементы в панели быстрого запуска удаляются, а новые элементы добавляются
Вы можете иметь два подхода здесь:
1) создание веб-части для замены быстрого запуска: таким образом, вы можете прочитать навигацию из SPWeb и создать ее самостоятельно.
2) Использование jQuery для изменения HTML-загрузки страницы. При таком подходе я бы применил "display: none" для быстрого запуска, внесения изменений в html, а затем "display: block" назад. Недостатком этого решения является то, что вы должны полагаться на имена / названия / URL-адреса элементов, поэтому, если администратор изменится, он может сломаться.