W Tridion Mam stronę, do której dołączony jest komponent, który ma pole tekstowe, w którym znajduje się znacznik iframe
, taki jak <iframe src="http://mysite.com/l/5042/2012-06-21/9pb4y" width="100%" height="500" frameborder="0" style="border: 0" > </iframe>
. Zapewniam, że ten tag pozostaje niezmieniony podczas przetwarzania przez C# & DWT template building blocks
. Ale na końcu, gdy strona zostanie opublikowana, w źródle strony tag zmienia się na <iframe src="http://mysite.com/l/5042/2012-06-21/9pb4y" width="100%" height="500" frameborder="0" style="border: 0" />
. Z tego powodu źródło strony nie wyświetla żadnych treści po tagu iframe
. Tak więc każdy komponent dołączony do strony po tagu zawierającym tag iframe
nie pojawia się na stronie. Jakiś pomysł, dlaczego zamykający tag </iframe>
został zamieniony na samozamykający tag: />
?Znacznik iframe w komponencie podaje niepełną stronę przy publikacji
Odpowiedz
Frank wymienić można użyć XML Konwersja do HTML TBB
(OR)
Można również rozważyć rozwiązanie z Chris zawarte w tym wątku. Creating anchor links in rich text fields with SDL Tridion 2011 SP1
Zastosowano xslt dla definicji pola schematu. O ile opcja TBB dotyczy pełnego CT/PT w zależności od tego, gdzie go używasz, ale z XSLT możesz go używać na poziomie pola, a także uzyskuje ten sam format, gdy używasz CoreService do innych zastosowań.
Twój link był użyteczny. Obecnie używam pustego znacznika div, aby stłumić dziwne zachowanie - ' ' –
Twoje obejście może pomóc w rozwiązaniu problemu, ale zgodnie ze standardem HTML nie powinieneś używać żadnych innych tagów w tagu iframe. –
Myślę, że to zasługa TBB "Oczyścić". Chciałbym spróbować umieszczenie „puste” przestrzeń między znacznikami, coś takiego:
<iframe src="YOUR_URL_HERE" width="100%" height="500" frameborder="0" style="border: 0" > </iframe>
To powinno zachować znaczników nietknięty i wyświetli iframe z jego znacznika zamykającego.
Zapytałem o ten problem, a Jamie Santos pomógł mi w rozwiązaniu tego problemu.
Już używałem Konwersja XML na HTML TBB, ale to nie zadziałało, ponieważ znacznik zamykający został już umieszczony w zmiennej wyjściowej.
Więc dodaje TBB wykorzystuje parametr Schema [tagi] gdzie mijamy listę tagów (oddzielone przecinkiem) chcemy zmienić samodzielne znacznika zamykającego (np />) z tagiem zamykającym (np)
[TcmTemplateTitle("Remove Selft Closing Tag")]
public class RemoveSelfClosingTag : ITemplate
{
public override void Transform(Engine engine, Package package)
{
var outputItem = package.GetByName(Package.OutputName);
//if not Output in package, return
if (outputItem == null) return;
var output = outputItem.GetAsString();
var tagsCsv = package.GetValue("Tags"); //TBB parameter [tags using CSV] : 'iframe'
if (string.IsNullOrEmpty(tagsCsv)) return;
var tags = tagsCsv.Split(',');
foreach (var tag in tags)
{
RemoveSelftTag(tag, ref output);
}
outputItem.SetAsString(output);
}
//ref because string is immutable.
private void RemoveSelftTag(string tagName, ref string output)
{
var pattern = string.Format("(?'fistPart'<(?'tag'{0})[^>]+?)/>", tagName);
output = Regex.Replace(output, pattern, @"${fistPart}></${tag}>");
}
}
- 1. Przechowuj niepełną datę w polu daty MySQL
- 2. Jak wyświetlić stronę google.com w elemencie iframe?
- 3. Dlaczego mój javascript (node.js) podaje mi niepoprawny znacznik czasu?
- 4. Tworzenie IFRAME przy użyciu JavaScriptu
- 5. Kontekst w komponencie "bezpaństwowym"?
- 6. Publikowanie głównej publikacji komponentu
- 7. window.history.back() ponownie ładuje stronę w Internet Explorerze, gdy znajduje się wewnątrz elementu iframe?
- 8. typu Array ma niepełną elementu typu
- 9. kątowy 2 dostęp do zawartości w komponencie
- 10. otworzyć stronę w IE przy użyciu C#
- 11. VueJs pobiera element w komponencie
- 12. Współdzielony stan w komponencie Ember
- 13. pusta kolekcja hibernacji w komponencie
- 14. Winformy: pobieranie numeru wersji publikacji?
- 15. EntityFramework.SqlServer nie został wdrożony w publikacji internetowej
- 16. Pobierz wszystkie schematy metadanych publikacji
- 17. Pokaż podpowiedź przy aktywowaniu niestandardowych znacznik
- 18. Linter podaje błąd "Błąd parsowania adresu URL"
- 19. Jak załadować stronę internetową przy użyciu WPF
- 20. Style komponentów Angular2 nie są dziedziczone w zamkniętym komponencie potomnym
- 21. wektor std :: podaje
- 22. Caliburn.Micro IEventAggregator Metoda publikacji brakuje przeciążenia
- 23. Załaduj Facebook Sharer w iFrame
- 24. parametry podaje do orzeczników
- 25. Czytanie elementu iframe w elemencie iframe Załaduj
- 26. angular2: w tym skrypty jsparty w komponencie
- 27. moment.js - UTC podaje niewłaściwą datę
- 28. Konstruowanie siatki 2D z potencjalnie niepełną listę kandydatów
- 29. Ukryj odnośnik na elemencie iframe
- 30. div dostępu w elemencie iframe
Czy jesteś pewien, że "Konwersja XML do HTML" TBB występuje w domyślnej fińskich działań? Ten typ TBB zwykle powinien przekonwertować notację XML z powrotem na HTML, którą preferuje starsza przeglądarka. –
Tak 'Konwertuj XML na HTML' TBB jest obecny w Domyślnych działaniach zakończeniowych. –