1

クライアントが themefuse のテーマを使用するように要求したページ (これは実際にはhttp://gtsturism.agencia.ro/ ) を持っています (これは変更が非常に困難です)。

ただし、テーマは jQuery 1.8.3 を使用しており、適切に機能するために v. 1.10.2 を必要とする新しいセクション (下のチューナー) を開発しました。

問題は jQuery UI でも同じです。アイデアは、新しいバージョンの jQuery をインポートすると、テーマ機能が機能しないということです (例: メニュー、スライダー、ポップスなど)。ただし、テーマ jQuery と jQuery ui に依存している場合、コンポーネントはまったく機能しません。

私がここにいる理由は、クライアントが最初からコンポーネントとフレームワークの要件をどうするかを指定していなかったからです。

Web サイトのウィジェット全体を書き直さないように、何らかの回避策を探しています。

上のリンクでは、チューナーが現在機能していることに注意してください (送信ではなく、ボタンとスライダー)。

お時間をいただきありがとうございます。

更新 #1: jQuery UI の主な問題

私はいくつかの側面を機能させることができましたが、テーマの jQuery UI は大幅に変更されており、特にこのコードを使用して開始するスライダーが変更されています。

var OPTIONS = {

    settings: {
      from: 1,
      to: 10,
      step: 1,
      smooth: true,
      limits: true,
      round: 0,
      format: { format: "#,##0.##" },
      value: "5;7",
      dimension: ""
    },

    className: "jslider",
    selector: ".jslider-",

    template: tmpl(
      '<span class="<%=className%>">' +
        '<table><tr><td>' +
          '<div class="<%=className%>-bg">' +
            '<i class="l"></i><i class="r"></i>' +
            '<i class="v"></i>' +
          '</div>' +

          '<div class="<%=className%>-pointer"></div>' +
          '<div class="<%=className%>-pointer <%=className%>-pointer-to"></div>' +

          '<div class="<%=className%>-label"><span><%=settings.from%></span></div>' +
          '<div class="<%=className%>-label <%=className%>-label-to"><%=settings.dimension%><span><%=settings.to%></span></div>' +

          '<div class="<%=className%>-value"><%=settings.dimension%><span></span></div>' +
          '<div class="<%=className%>-value <%=className%>-value-to"><%=settings.dimension%><span></span></div>' +

          '<div class="<%=className%>-scale"><%=scale%></div>'+

        '</td></tr></table>' +
      '</span>'
    )

  };

完全なテーマの jQuery UI スライダーは、http://jsfiddle.net/AEK8p/にあります。

したがって、テーマはこのようになり、キーワードsliderを使用するため、スライダーを開始する別の方法が必要です :

jQuery(document).ready(function() {
  // Price Range Input
  jQuery("#range_field_short_latest_price_range").slider({
    from: 90,
    to: 2490,
    smooth: true,
    scale: ["$90","$2.5k"],
    skin: "round_green",
    limits: false,
    heterogeneity: [],
    dimension: '$'
  });
});

だから私が考えていたのは、私のテキストに表示されるフィドルの「customSlider」のような名前でコンストラクターの名前を変更することでしたが、これで十分だとは思いません。

更新 #2: jQuery UI - 可能な解決策 - 別の UI フレームワークを使用する

そのため、多くの苦労の末、これに対する部分的な解決策を見つけました。そこで、jQuery 用の別のスライダー プラグインを使用してスライダー コードを書き直しました。これはhttp://refreshless.com/nouislider/にあります。

このようにして、テーマとのあらゆるタイプの競合を回避し、それに付属する Jq バージョンを保持できます。

結論としては、2 つ以上のバージョンの jQuery、jQuery ui、または他のライブラリを使用することは、オーバーラップの次元が制御不能であるため (クライアントが購入したこの変更されたテーマのように) 自分自身を上書きするという非常に大きな問題があるということです。テーマヒューズ)。

最終的にこのソリューションにつながった皆さんの貢献に感謝します。あなたの助けがなければ、おそらくもっと時間がかかったでしょう。

4

1 に答える 1