Jump to content

Recommended Posts

Moinmoin meine Lieben!

 

Folgende Frage:

Ich habe löblicherweise vor, mein Homefeatured, also Highlight auf der Startseite um "inkl. MwSt zzgl. Lieferkosten zu erweitern. Naja, hab ich schon.

Nun möchte ich aber, das Lieferkosten ein Link wird, auf dem ein iframe nur mit inhalt aufpoppt.

 

Geschafft hab ich es dank einiger User hier schon beim Checkout mit AGB´s usw. Klappt da fantastisch. nun habe ich folgenden Code ins homefetured.tpl gebastelt:

 

<a href="{$link->getCMSLink('13')}&content_only=1 class="iframe">{l s='Lieferkosten'}</a>

 

 

Damit geht allerdings auf der gleichen Seite die CMS Seite auf, und die dann auch komplett - und das ist doof!

 

Hab ich vergessen, etwas in den Code mit einzufügen?

 

Danke schon einmal für Hilfe!!!!

Edited by distrax (see edit history)
Link to comment
Share on other sites

Neh, ist es leider nicht, denn die Klammer die Du meinst ist ja vor dem {l s=....

das {l s='Lieferkosten'} ist ja lediglich die Textausgabe.

 

Trotzdem danke cd2500.

 

Vielleicht sollte ich noch erwähnen, das ich hinter dem Link den Befehl stehen habe (auch davor bringt keine Änderung):

<script type="text/javascript">$('a.iframe').fancybox();</script>

 

Nach wie vor finde ich aber keine Möglichkeit, dass der Schnurz in nem iframe aufgeht...

Andere vorschläge?

 

Zusatz:

An den Stellen, an dem der iframe aufgeht, wird allerdings nicht content_only=1 angezeigt, sondern die ganze Seite. Durch ein bissl googlen habe ich gelesen, dass das mit den vereinfachten URL´s zusammen hängt/hängen kann.

Gibt es denn eine Möglichkeit das richtig darzustellen?

 

Meinetwegen auch die Möglichkeit, ähnlich wie die AGB, verschiedene CMS Seiten "in den Core zu implementieren".

 

Bin für nen Batzen Ideen offen

Edited by distrax (see edit history)
Link to comment
Share on other sites

Ist das fancybox js jquery.fancybox-1.3.4 auch in deiner site gelade?

Ich meine mich zu erinnern, dass hier ein Hack im Front_content.php nötig war, wenn man es auc hauf anderen seiten haben will.

 

Mom ich such mal, zwar nicht optimal aber dokumentiert gehts ;)

 

public function setMedia()
{
 global $cookie;
 Tools::addCSS(_THEME_CSS_DIR_.'global.css?'.rand(1,100000000), 'all');
	Tools::addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css');
 Tools::addJS(array(_PS_JS_DIR_.'jquery/jquery-1.4.4.min.js', _PS_JS_DIR_.'jquery/jquery.easing.1.3.js', _PS_JS_DIR_.'tools.js',_PS_JS_DIR_.'jquery/jquery.fancybox-1.3.4.js'));
 if (Tools::isSubmit('live_edit') AND Tools::getValue('ad') AND (Tools::getValue('liveToken') == sha1(Tools::getValue('ad')._COOKIE_KEY_)))
 {
  Tools::addJS(array(
   _PS_JS_DIR_.'jquery/jquery-ui-1.8.10.custom.min.js',
   _PS_JS_DIR_.'jquery/jquery.fancybox-1.3.4.js',
   _PS_JS_DIR_.'hookLiveEdit.js')
   );
  Tools::addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css');
 }

 

Bin mir gerade nimma sicher, ob ich das geändert hab oder wo anderst, musst mal deine php mit meiner vergleichen und gegebenfalls das setMedia anpassen.

 

 

Für dein content_only=1 problem, das habe ich so gelöst:

<a href="{if $lang_iso=='de'}{$link->getCMSLink('3','AGB')}?content_only=1{else}{$link->getCMSLink('3','terms-of-use')}?content_only=1{/if}" class="iframe">{l s='(read)'}</a>

 

Musst halt noch die gtCMSLink(CMSID,SEONAME) mit dienen anpassen.

 

Ich Prüfe auch nur auf DE und der rest bekommt Englischen Link ;)

 

Kannst natürlich auch ein switch case über alle Länder bauen.

 

Grüße

Edited by BluTiGeS (see edit history)
Link to comment
Share on other sites

Probiere das mit diesem Codeschnippel HIER. Dort wurde auch der Front-Controller modifiziert, der vermutlich auch der Schlüssel dazu ist.

 

Im Prinzip wäre es auch möglich eine eigene Klasse zu erstellen und diese dann einfach überall in den Code zu integrieren (product.tpl, product-list.tpl, homefeatured, usw.) und auf die fancybox ganz zu verzichten. Das zur Theroie, in der Praxis kann ich es leider nicht umsetzen, weil ich kein Programmierer bin.

Link to comment
Share on other sites

Oh sorry, da muss man sich zunächst anmelden... Ich kopiere mal den Schnippel hier rein:

 

Frontcontroller modifiziert.

public function setMedia()
{
 global $cookie;
 Tools::addCSS(_THEME_CSS_DIR_.'global.css', 'all');
 Tools::addCSS(_PS_CSS_DIR_.'jquery.fancybox-1.3.4.css');
 Tools::addJS(array(_PS_JS_DIR_.'tools.js', _PS_JS_DIR_.'jquery/jquery-1.4.4.min.js', _PS_JS_DIR_.'jquery/jquery.easing.1.3.js', _PS_JS_DIR_.'jquery/jquery.fancybox-1.3.4.js'));
 if ($cookie->live_edit)
 {
  Tools::addJS(array(
   _PS_JS_DIR_.'jquery/jquery-ui-1.8.10.custom.min.js',
   _PS_JS_DIR_.'hookLiveEdit.js')
   );
  }
}

 

und dann im homefeatured.tpl:

 

<a href="{$base_dir}cms.php?id_cms=1&content_only=1" class="iframe"> {l s='shipping' mod='homefeatured'}</a><script type="text/javascript">$('a.iframe').fancybox();</script>

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...